首页 > 代码库 > enable orgmode latex preview to support retina on mac
enable orgmode latex preview to support retina on mac
<style>.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% }</style>
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.
Created: 2017-04-18 Tue 00:11
Validate
enable orgmode latex preview to support retina on mac
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。