enable orgmode latex preview to support retina on mac

.title { text-align: center; margin-bottom: .2em }
.subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 }
.todo { font-family: monospace; color: red }
.done { font-family: monospace; color: green }
.priority { font-family: monospace; color: orange }
.tag { background-color: #eee; font-family: monospace; padding: 2px; font-size: 80%; font-weight: normal }
.timestamp { color: #bebebe }
.timestamp-kwd { color: #5f9ea0 }
.org-right { margin-left: auto; margin-right: 0px; text-align: right }
.org-left { margin-left: 0px; margin-right: auto; text-align: left }
.org-center { margin-left: auto; margin-right: auto; text-align: center }
.underline { text-decoration: underline }
#postamble p,#preamble p { font-size: 90%; margin: .2em }
p.verse { margin-left: 3% }
pre { border: 1px solid #ccc; padding: 8pt; font-family: monospace; overflow: auto; margin: 1.2em }
pre.src { position: relative; overflow: visible; padding-top: 1.2em }
pre.src::before { display: none; position: absolute; background-color: white; top: -10px; right: 10px; padding: 3px; border: 1px solid black }
pre.src:hover::before { display: inline }
pre.src-asymptote::before { content: "Asymptote" }
pre.src-awk::before { content: "Awk" }
pre.src-C::before { content: "C" }
pre.src-clojure::before { content: "Clojure" }
pre.src-css::before { content: "CSS" }
pre.src-D::before { content: "D" }
pre.src-ditaa::before { content: "ditaa" }
pre.src-dot::before { content: "Graphviz" }
pre.src-calc::before { content: "Emacs Calc" }
pre.src-emacs-lisp::before { content: "Emacs Lisp" }
pre.src-fortran::before { content: "Fortran" }
pre.src-gnuplot::before { content: "gnuplot" }
pre.src-haskell::before { content: "Haskell" }
pre.src-java::before { content: "Java" }
pre.src-js::before { content: "Javascript" }
pre.src-latex::before { content: "LaTeX" }
pre.src-ledger::before { content: "Ledger" }
pre.src-lisp::before { content: "Lisp" }
pre.src-lilypond::before { content: "Lilypond" }
pre.src-lua::before { content: "Lua" }
pre.src-matlab::before { content: "MATLAB" }
pre.src-mscgen::before { content: "Mscgen" }
pre.src-ocaml::before { content: "Objective Caml" }
pre.src-octave::before { content: "Octave" }
pre.src-org::before { content: "Org mode" }
pre.src-oz::before { content: "OZ" }
pre.src-plantuml::before { content: "Plantuml" }
pre.src-processing::before { content: "Processing.js" }
pre.src-python::before { content: "Python" }
pre.src-R::before { content: "R" }
pre.src-ruby::before { content: "Ruby" }
pre.src-sass::before { content: "Sass" }
pre.src-scheme::before { content: "Scheme" }
pre.src-screen::before { content: "Gnu Screen" }
pre.src-sed::before { content: "Sed" }
pre.src-sh::before { content: "shell" }
pre.src-sql::before { content: "SQL" }
pre.src-sqlite::before { content: "SQLite" }
pre.src-forth::before { content: "Forth" }
pre.src-io::before { content: "IO" }
pre.src-J::before { content: "J" }
pre.src-makefile::before { content: "Makefile" }
pre.src-maxima::before { content: "Maxima" }
pre.src-perl::before { content: "Perl" }
pre.src-picolisp::before { content: "Pico Lisp" }
pre.src-scala::before { content: "Scala" }
pre.src-shell::before { content: "Shell Script" }
pre.src-ebnf2ps::before { content: "ebfn2ps" }
pre.src-cpp::before { content: "C++" }
pre.src-abc::before { content: "ABC" }
pre.src-coq::before { content: "Coq" }
pre.src-groovy::before { content: "Groovy" }
pre.src-bash::before { content: "bash" }
pre.src-csh::before { content: "csh" }
pre.src-ash::before { content: "ash" }
pre.src-dash::before { content: "dash" }
pre.src-ksh::before { content: "ksh" }
pre.src-mksh::before { content: "mksh" }
pre.src-posh::before { content: "posh" }
pre.src-ada::before { content: "Ada" }
pre.src-asm::before { content: "Assembler" }
pre.src-caml::before { content: "Caml" }
pre.src-delphi::before { content: "Delphi" }
pre.src-html::before { content: "HTML" }
pre.src-idl::before { content: "IDL" }
pre.src-mercury::before { content: "Mercury" }
pre.src-metapost::before { content: "MetaPost" }
pre.src-modula-2::before { content: "Modula-2" }
pre.src-pascal::before { content: "Pascal" }
pre.src-ps::before { content: "PostScript" }
pre.src-prolog::before { content: "Prolog" }
pre.src-simula::before { content: "Simula" }
pre.src-tcl::before { content: "tcl" }
pre.src-tex::before { content: "TeX" }
pre.src-plain-tex::before { content: "Plain TeX" }
pre.src-verilog::before { content: "Verilog" }
pre.src-vhdl::before { content: "VHDL" }
pre.src-xml::before { content: "XML" }
pre.src-nxml::before { content: "XML" }
pre.src-conf::before { content: "Configuration File" }
table { border-collapse: collapse }
caption.t-above { caption-side: top }
caption.t-bottom { caption-side: bottom }
td,th { vertical-align: top }
th.org-right { text-align: center }
th.org-left { text-align: center }
th.org-center { text-align: center }
td.org-right { text-align: right }
td.org-left { text-align: left }
td.org-center { text-align: center }
dt { font-weight: bold }
.footpara { display: inline }
.footdef { margin-bottom: 1em }
.figure { padding: 1em }
.figure p { text-align: center }
.inlinetask { padding: 10px; border: 2px solid gray; margin: 10px; background: #ffffcc }
#org-div-home-and-up { text-align: right; font-size: 70%; white-space: nowrap }
textarea { }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00 }
.org-info-js_info-navigation { border-style: none }
#org-info-js_console-label { font-size: 10px; font-weight: bold; white-space: nowrap }
.org-info-js_search-highlight { background-color: #ffff00; color: #000000; font-weight: bold }
.org-svg { width: 90% }

Table of Contents

  • 1. enable orgmode latex preview to support retina on mac

    • 1.1. get the proper version of emacs
    • 1.2. change org-format-latex-options
    • 1.3. delete org.elc
    • 1.4. add function to org.el
    • 1.5. modify function org-format-latex

1 enable orgmode latex preview to support retina on mac

By default orgmode latex preview do not support retina, so on mac with retina screen, latex preview will be fuzzy.

However, we can hack org.el to achieve the function. Just follow steps below:

1.1 get the proper version of emacs

To instead use the Yamamoto Mitsuharu version of Emacs 25.1 (with more mac-specific features):

brew tap railwaycat/emacsmacport
brew install emacs-mac

and finally link it to your Applications folder:

brew linkapps emacs-mac

this version emacs will support retina image display.

1.2 change org-format-latex-options

change scale from 1.0 to 2.0, to generate 2x size image.

1.3 delete org.elc

1.4 add function to org.el

(defun galaxy-compose-image-filename-2x(image-file-name)
(concat (file-name-directory image-file-name) (file-name-base image-file-name) "@2x." (file-name-extension image-file-name)))

and eval the function.

1.5 modify function org-format-latex

change fragment:

(unless (file-exists-p movefile)
(org-create-formula-image value movefile options forbuffer processing-type)

to

(unless (file-exists-p movefile)
(org-create-formula-image value movefile options forbuffer processing-type)
(setq filename-2x (galaxy-compose-image-filename-2x movefile))
(rename-file movefile filename-2x)
(call-process-shell-command "convert" nil nil nil nil (concat "\"" filename-2x "\" -scale \"50%\" -quality \"100%\"" ) (concat "\"" movefile "\"" )))

and eval the function.

Now, you can preview latex with 2x size image for mac retina screen.

Author: galaxy

Created: 2017-04-18 Tue 00:11

Validate

时间: 2024-10-12 04:39:22

enable orgmode latex preview to support retina on mac的相关文章

Enable Sublime text 2 to support GBK in Mac

The Sublime is my most loving editor,but is not very familiar with it. Here,I will tell you how to install package controll manual installation Step 1: download the file from follow link https://packagecontrol.io/Package%20Control.sublime-package Ste

Latex安装和基本使用(Mac+MikTex+TexStudio)

一.介绍 LaTeX 基于 TeX的一个文档编辑器/排版系统(个人理解),学术界尤其是数学.计算机等学科论文采用 LaTeX 编写可以极大优化版面结构.在编辑器中按照一定"语法结构"进行录入,编译后可直接生成pdf. 二.安装 网上详细教程很多,简单记录几个关键步骤 1)分别下载和安装LaTeX,MikTEx和TeXStudio 2)打开TeXStudio>preference-build中,将Default Compiler改为XelaTex,此外在编写中,添加如下行 \doc

OWIN support for the Web API 2 and MVC 5 integrations in Autofac

Currently, in the both the Web API and MVC frameworks, dependency injection support does not come into play until after the OWIN pipeline has started executing. This is simply a result of the OWIN support being added to both frameworks after their in

Solution for Latex error: "Cannot determine size of graphic"

I'm trying to include graphics in my Latex-file, which I compiled with latex+dvipdf on OS X. Latex however returns this error: "Cannot determine size of graphic" My graphic is exported from PowerPoint, so I have tried both .pdf and .png. I get t

image-set实现Retina屏幕下图片显示详细介绍

支持image-set:如果你的浏览器支持image-sete,而且是普通显屏下,此时浏览器会选择image-set中的@1x背景图像: Retina屏幕下的image-set:如果你的浏览器支持image-set,而且是在Retina屏幕下,此时浏览器会选择image-set中的@2x背景图像. 上面就是有关于“image-set”的简单介绍. 为什么要使用image-set而不使用Media Queries? 如果你有阅读有关于Retina的文章,你就会知道,在Retina屏幕下实现图像显示

image-set实现Retina屏幕下图片显示[转载]

最近一直在学习Retina屏幕下图片的处理方法,从<走向视网膜(Retina)的Web时代>一文中知道了Retina这个新名词,同时知道了他是什么东东,同时也继续在探讨Retina方面的知识点,随后在<移动Web——CSS为Retian屏幕替换图片>和<使用css sprites来优化你的网站在Retina屏幕下显示>中学习了Retina屏幕下图片的设置方法,或者说技巧吧,接下来<Web设计师如何制作Retina图像>学习了Retina屏幕下的图片制作技巧.

【翻译】Android Support Library Features(二)

原文地址:http://developer.android.com/tools/support-library/features.html 在Android Support Library包中,包含了几个可以被引入到你应用的库.每一个库支持一个特定的Android平台版本范围和功能集合. 原文:The Android Support Library package contains several libraries that can be included in your applicatio

VScode 配置为 LaTeX IDE

VScode 配置为 LaTeX IDE 安装扩展 ctrl+shift+x调出应用商店,搜索并安装如下扩展: LaTeX Workshop ; pdf-formatter LaTeX Preview 配置LaTeX Workshop LaTeX文件.tex的编译.预览.辅助文件的清理等都在扩展latex workshop中设置. LaTeX Workshop中,编译LaTeX文件时顺序执行的一系列/组命令称为LaTeX食谱(recipes),定义在latex-workshop.latex.re

池建强 博客 Mac使用技巧 第一季

第1天: 今天推送的Mac技巧: 使用OS X,我们可以充分利用系统提供的多个Space,把不同的程序放到不同的Space,让我们的系统更有扩展性.如何增加Space呢?四指上推,在桌面的最上方会出现当前的Space,把鼠标移到Space列表的右侧,会出现一个带+号的空间,点击加号,即可增加一个Space.那么如何把某个程序固定在某个Space打开呢?在某个Space打开程序,在Dock中找到这个程序图标,鼠标长按会出现一个菜单,选项-分配给,选“这个桌面”,下次再打开这个程序,就会自动进入设定