* [PATCH] bugfix: fix previewing latex fragments with imagemagick @ 2013-07-14 7:02 feng shu 2013-07-14 7:06 ` feng shu 0 siblings, 1 reply; 7+ messages in thread From: feng shu @ 2013-07-14 7:02 UTC (permalink / raw) To: emacs-orgmode@gnu.org [-- Attachment #1: Type: text/plain, Size: 129 bytes --] Previewing and exporting latex fragments with imagemagick has been broken when new export system merged. This is the fix patch. [-- Attachment #2: Type: text/html, Size: 156 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 7:02 [PATCH] bugfix: fix previewing latex fragments with imagemagick feng shu @ 2013-07-14 7:06 ` feng shu 2013-07-14 8:29 ` Nicolas Goaziou 0 siblings, 1 reply; 7+ messages in thread From: feng shu @ 2013-07-14 7:06 UTC (permalink / raw) To: emacs-orgmode@gnu.org [-- Attachment #1.1: Type: text/plain, Size: 205 bytes --] On Sun, Jul 14, 2013 at 3:02 PM, feng shu <tumashu@gmail.com> wrote: > Previewing and exporting latex fragments with imagemagick has been broken > when new export system merged. This is the fix patch. > [-- Attachment #1.2: Type: text/html, Size: 532 bytes --] [-- Attachment #2: 0001-bugfix-fix-generating-formula-image-with-imagemagick.patch --] [-- Type: application/octet-stream, Size: 8864 bytes --] From e8ad1f089d381b2fa02480370ccaa316ac44e22e Mon Sep 17 00:00:00 2001 From: Feng Shu <tumashu@gmail.com> Date: Sun, 14 Jul 2013 14:18:53 +0800 Subject: [PATCH] bugfix: fix generating formula image with imagemagick when previewing and exporting * lisp/ox-odt.el (org-odt--translate-latex-fragments): Fix imagemagick support. * lisp/ox-html.el (org-html-latex-environment) (org-html-latex-fragment): Fix imagemagick support. * org.el (org-create-formula-image-with-imagemagick): Generate correct size formula image. * doc/org.texi (@LaTeX{} fragments) (Previewing @LaTeX{} fragments) (Math formatting in HTML export) (Working with @LaTeX{} math snippets): Add document about creating formula image with imagemagick. --- doc/org.texi | 46 +++++++++++++++++++++++++++++++--------------- lisp/org.el | 2 +- lisp/ox-html.el | 4 ++-- lisp/ox-odt.el | 11 ++++++----- 4 个文件被修改,插入 40 行(+),删除 23 行(-) diff --git a/doc/org.texi b/doc/org.texi index 8db410c..4d13db9 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -10156,10 +10156,10 @@ snippets will be identified as @LaTeX{} source code: @item Environments of any kind@footnote{When @file{MathJax} is used, only the environments recognized by @file{MathJax} will be processed. When -@file{dvipng} is used to create images, any @LaTeX{} environment will be -handled.}. The only requirement is that the @code{\begin} and @code{\end} -statements appear on a new line, at the beginning of the line or after -whitespaces only. +@file{dvipng} program or @file{imagemagick} suite is used to create images, +any @LaTeX{} environment will be handled.}. The only requirement is that the +@code{\begin} and @code{\end} statements appear on a new line, at the +beginning of the line or after whitespaces only. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as @@ -10196,10 +10196,11 @@ You can also set this variable on a per-file basis using one of these lines: @example -#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} -#+OPTIONS: tex:dvipng @r{Force using dvipng images} -#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} -#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} +#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} +#+OPTIONS: tex:dvipng @r{Force using dvipng images} +#+OPTIONS: tex:imagemagick @r{Force using images converted by imagemagick} +#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} +#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} @end example @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{} @@ -10207,8 +10208,8 @@ lines: @cindex @LaTeX{} fragments, preview @vindex org-latex-create-formula-image-program -If you have @file{dvipng} or @file{imagemagick} installed@footnote{Choose the -converter by setting the variable +If you have @file{dvipng} program or @file{imagemagick} suite +installed@footnote{Choose the converter by setting the variable @code{org-latex-create-formula-image-program} accordingly.}, @LaTeX{} fragments can be processed to produce preview images of the typeset expressions: @@ -11256,7 +11257,7 @@ You could use @code{http} addresses just as well. @node Math formatting in HTML export, Text areas in HTML export, Images in HTML export, HTML export @subsection Math formatting in HTML export @cindex MathJax -@cindex dvipng +@cindex dvipng or imagemagick @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two different ways on HTML pages. The default is to use the @@ -11282,13 +11283,21 @@ this line. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This -method requires that the @file{dvipng} program is available on your system. -You can still get this processing with +method requires that the @file{dvipng} program or @file{imagemagick} suite is +available on your system.You can still get this processing with @example #+OPTIONS: tex:dvipng @end example +or: + +@example +#+OPTIONS: tex:imagemagick +@end example + + + @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export @subsection Text areas in HTML export @@ -12264,7 +12273,7 @@ Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file and open the formula file with the system-registered application. @end table -@cindex dvipng +@cindex dvipng or imagemagick @item PNG images This option is activated on a per-file basis with @@ -12273,9 +12282,16 @@ This option is activated on a per-file basis with #+OPTIONS: LaTeX:dvipng @end example +or: + +@example +#+OPTIONS: LaTeX:imagemagick +@end example + With this option, @LaTeX{} fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires -that the @file{dvipng} program be available on your system. +that the @file{dvipng} program or @file{imagemagick} suite be available on +your system. @end enumerate @node Working with MathML or OpenDocument formula files, , Working with @LaTeX{} math snippets, Math formatting in ODT export diff --git a/lisp/org.el b/lisp/org.el index f8cd447..536c98a 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -18609,7 +18609,7 @@ share a good deal of logic." (font-height (face-font 'default)) (face-attribute 'default :height nil))) (scale (or (plist-get options (if buffer :scale :html-scale)) 1.0)) - (dpi (number-to-string (* scale (floor (* 0.9 (if buffer fnh 140.)))))) + (dpi (number-to-string (* scale (floor (if buffer fnh 120.))))) (fg (or (plist-get options (if buffer :foreground :html-foreground)) "black")) (bg (or (plist-get options (if buffer :background :html-background)) diff --git a/lisp/ox-html.el b/lisp/ox-html.el index 9843d98..d1abe15 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -2497,7 +2497,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (case processing-type ((t mathjax) (org-html-format-latex latex-frag 'mathjax)) - (dvipng + ((or dvipng imagemagick) (let ((formula-link (org-html-format-latex latex-frag processing-type))) (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link)) ;; Do not provide a caption or a name to be consistent with @@ -2517,7 +2517,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (case processing-type ((t mathjax) (org-html-format-latex latex-frag 'mathjax)) - (dvipng + ((or dvipng imagemagick) (let ((formula-link (org-html-format-latex latex-frag processing-type))) (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link)) (org-html--format-image (match-string 1 formula-link) nil info)))) diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el index e89306e..f6f9e04 100644 --- a/lisp/ox-odt.el +++ b/lisp/ox-odt.el @@ -3772,9 +3772,10 @@ contextual information." (setq processing-type 'mathml) (message "LaTeX to MathML converter not available.") (setq processing-type 'verbatim))) - (dvipng + ((or dvipng imagemagick) (unless (and (org-check-external-command "latex" "" t) - (org-check-external-command "dvipng" "" t)) + (org-check-external-command "dvipng" "" t) + (org-check-external-command "convert" "" t)) (message "LaTeX to PNG converter not available.") (setq processing-type 'verbatim))) (otherwise @@ -3787,7 +3788,7 @@ contextual information." (message "Formatting LaTeX using %s" processing-type) ;; Convert `latex-fragment's and `latex-environment's. - (when (memq processing-type '(mathml dvipng)) + (when (memq processing-type '(mathml dvipng imagemagick)) (org-element-map tree '(latex-fragment latex-environment) (lambda (latex-*) (incf count) @@ -3796,13 +3797,13 @@ contextual information." (cache-dir (file-name-directory input-file)) (cache-subdir (concat (case processing-type - (dvipng "ltxpng/") + ((or dvipng imagemagick) "ltxpng/") (mathml "ltxmathml/")) (file-name-sans-extension (file-name-nondirectory input-file)))) (display-msg (case processing-type - (dvipng (format "Creating LaTeX Image %d..." count)) + ((or dvipng imagemagick) (format "Creating LaTeX Image %d..." count)) (mathml (format "Creating MathML snippet %d..." count)))) ;; Get an Org-style link to PNG image or the MathML ;; file. -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 7:06 ` feng shu @ 2013-07-14 8:29 ` Nicolas Goaziou 2013-07-14 8:35 ` Nicolas Goaziou 2013-07-14 13:03 ` Feng Shu 0 siblings, 2 replies; 7+ messages in thread From: Nicolas Goaziou @ 2013-07-14 8:29 UTC (permalink / raw) To: feng shu; +Cc: emacs-orgmode@gnu.org Hello, feng shu <tumashu@gmail.com> writes: > Previewing and exporting latex fragments with imagemagick has been broken > when new export system merged. This is the fix patch. Thanks for the patch. Here are a few comments. > Subject: [PATCH] bugfix: fix generating formula image with imagemagick when > previewing and exporting Prefer "Fix generating LaTeX formula images" as subject. > -@file{dvipng} is used to create images, any @LaTeX{} environment will be > -handled.}. The only requirement is that the @code{\begin} and @code{\end} > -statements appear on a new line, at the beginning of the line or after > -whitespaces only. > +@file{dvipng} program or @file{imagemagick} suite is used to create images, > +any @LaTeX{} environment will be handled.}. The only requirement is that the > +@code{\begin} and @code{\end} statements appear on a new line, at the > +beginning of the line or after whitespaces only. > @item > Text within the usual @LaTeX{} math delimiters. To avoid conflicts with > currency specifications, single @samp{$} characters are only recognized as > @@ -10196,10 +10196,11 @@ You can also set this variable on a per-file basis using one of these > lines: > > @example > -#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} > -#+OPTIONS: tex:dvipng @r{Force using dvipng images} > -#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} > -#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} > +#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} > +#+OPTIONS: tex:dvipng @r{Force using dvipng images} > +#+OPTIONS: tex:imagemagick @r{Force using images converted by imagemagick} > +#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} > +#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} > @end example It should be: @example #+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} #+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} #+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} @end example because `org-export-with-latex' provides neither `dvipng' nor `imagemagick' options. Those are added by some back-ends (e.g., `org-html-with-latex'). > @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{} > @@ -10207,8 +10208,8 @@ lines: > @cindex @LaTeX{} fragments, preview > > @vindex org-latex-create-formula-image-program > -If you have @file{dvipng} or @file{imagemagick} installed@footnote{Choose the > -converter by setting the variable > +If you have @file{dvipng} program or @file{imagemagick} suite > +installed@footnote{Choose the converter by setting the variable Does this change really matter? > -@cindex dvipng > +@cindex dvipng or imagemagick Use @cindex dvipng @cindex imagemagick instead. > @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two > different ways on HTML pages. The default is to use the > @@ -11282,13 +11283,21 @@ this line. > If you prefer, you can also request that @LaTeX{} fragments are processed > into small images that will be inserted into the browser page. Before the > availability of MathJax, this was the default method for Org files. This > -method requires that the @file{dvipng} program is available on your system. > -You can still get this processing with > +method requires that the @file{dvipng} program or @file{imagemagick} suite is > +available on your system.You can still get this processing with Mind the spaces: too many before "or", not enough before "You". > +or: > + > +@example > +#+OPTIONS: tex:imagemagick > +@end example > + > + > + Nitpick: No need for so many blank lines. > -@cindex dvipng > +@cindex dvipng or imagemagick See above. > @item PNG images > > This option is activated on a per-file basis with > @@ -12273,9 +12282,16 @@ This option is activated on a per-file basis with > #+OPTIONS: LaTeX:dvipng > @end example > > +or: > + > +@example > +#+OPTIONS: LaTeX:imagemagick > +@end example > + OK. But documentation is still wrong here. It should be "tex:dvipng" and "tex:imagemagick". > -that the @file{dvipng} program be available on your system. > +that the @file{dvipng} program or @file{imagemagick} suite be available on > +your system. Check white spaces. > - (dpi (number-to-string (* scale (floor (* 0.9 (if buffer fnh 140.)))))) > + (dpi (number-to-string (* scale (floor (if buffer fnh 120.))))) Note sure about this change. Why do you think it is needed? > - (dvipng > + ((or dvipng imagemagick) It should be: ((dvipng imagemagick) See `case' documentation. > - (dvipng > + ((or dvipng imagemagick) Ditto. > - (dvipng > + ((or dvipng imagemagick) Ditto. > (unless (and (org-check-external-command "latex" "" t) > - (org-check-external-command "dvipng" "" t)) > + (org-check-external-command "dvipng" "" t) > + (org-check-external-command "convert" "" t)) There's a missing `or': (or (org-check-external-command "dvipng" "" t) (org-check-external-command "convert" "" t)) > (case processing-type > - (dvipng "ltxpng/") > + ((or dvipng imagemagick) "ltxpng/") See above. > (case processing-type > - (dvipng (format "Creating LaTeX Image %d..." count)) > + ((or dvipng imagemagick) (format "Creating LaTeX Image %d..." count)) See above. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 8:29 ` Nicolas Goaziou @ 2013-07-14 8:35 ` Nicolas Goaziou 2013-07-14 13:08 ` Feng Shu 2013-07-14 13:03 ` Feng Shu 1 sibling, 1 reply; 7+ messages in thread From: Nicolas Goaziou @ 2013-07-14 8:35 UTC (permalink / raw) To: feng shu; +Cc: emacs-orgmode@gnu.org Correcting myself: Nicolas Goaziou <n.goaziou@gmail.com> writes: > > feng shu <tumashu@gmail.com> writes: > >> (unless (and (org-check-external-command "latex" "" t) >> - (org-check-external-command "dvipng" "" t)) >> + (org-check-external-command "dvipng" "" t) >> + (org-check-external-command "convert" "" t)) > > There's a missing `or': > > (or (org-check-external-command "dvipng" "" t) > (org-check-external-command "convert" "" t)) Err. This is still wrong. Use (and (org-check-external-command "latex" "" t) (org-check-external-command (if (eq processing-type 'dvipng) "dvipng" "convert") "" t)) instead. -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 8:35 ` Nicolas Goaziou @ 2013-07-14 13:08 ` Feng Shu 2013-07-15 7:43 ` Nicolas Goaziou 0 siblings, 1 reply; 7+ messages in thread From: Feng Shu @ 2013-07-14 13:08 UTC (permalink / raw) To: Nicolas Goaziou; +Cc: emacs-orgmode@gnu.org [-- Attachment #1: Type: text/plain, Size: 21 bytes --] This is version 2, [-- Attachment #2: 0001-Fix-generating-LaTeX-formula-images.patch --] [-- Type: text/x-diff, Size: 8125 bytes --] From 1ea9620cd3051cb982a4fb7ddb6f8a68fd0df4a6 Mon Sep 17 00:00:00 2001 From: Feng Shu <tumashu@gmail.com> Date: Sun, 14 Jul 2013 14:18:53 +0800 Subject: [PATCH] Fix generating LaTeX formula images * lisp/ox-odt.el (org-odt--translate-latex-fragments): Fix imagemagick support. * lisp/ox-html.el (org-html-latex-environment) (org-html-latex-fragment): Fix imagemagick support. * org.el (org-create-formula-image-with-imagemagick): Generate correct size formula image. (org-format-latex-header): Change pagestyle command position. * doc/org.texi (@LaTeX{} fragments) (Previewing @LaTeX{} fragments) (Math formatting in HTML export) (Working with @LaTeX{} math snippets): Add document about creating formula image with imagemagick. --- doc/org.texi | 32 +++++++++++++++++++++++--------- lisp/org.el | 4 ++-- lisp/ox-html.el | 4 ++-- lisp/ox-odt.el | 11 ++++++----- 4 个文件被修改,插入 33 行(+),删除 18 行(-) diff --git a/doc/org.texi b/doc/org.texi index 8db410c..97e6ef6 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -10156,10 +10156,10 @@ snippets will be identified as @LaTeX{} source code: @item Environments of any kind@footnote{When @file{MathJax} is used, only the environments recognized by @file{MathJax} will be processed. When -@file{dvipng} is used to create images, any @LaTeX{} environment will be -handled.}. The only requirement is that the @code{\begin} and @code{\end} -statements appear on a new line, at the beginning of the line or after -whitespaces only. +@file{dvipng} program or @file{imagemagick} suite is used to create images, +any @LaTeX{} environment will be handled.}. The only requirement is that the +@code{\begin} and @code{\end} statements appear on a new line, at the +beginning of the line or after whitespaces only. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as @@ -10197,7 +10197,6 @@ lines: @example #+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} -#+OPTIONS: tex:dvipng @r{Force using dvipng images} #+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} #+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} @end example @@ -11257,6 +11256,7 @@ You could use @code{http} addresses just as well. @subsection Math formatting in HTML export @cindex MathJax @cindex dvipng +@cindex imagemagick @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two different ways on HTML pages. The default is to use the @@ -11282,13 +11282,19 @@ this line. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This -method requires that the @file{dvipng} program is available on your system. -You can still get this processing with +method requires that the @file{dvipng} program or @file{imagemagick} suite is +available on your system. You can still get this processing with @example #+OPTIONS: tex:dvipng @end example +or: + +@example +#+OPTIONS: tex:imagemagick +@end example + @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export @subsection Text areas in HTML export @@ -12265,17 +12271,25 @@ and open the formula file with the system-registered application. @end table @cindex dvipng +@cindex imagemagick @item PNG images This option is activated on a per-file basis with @example -#+OPTIONS: LaTeX:dvipng +#+OPTIONS: tex:dvipng +@end example + +or: + +@example +#+OPTIONS: tex:imagemagick @end example With this option, @LaTeX{} fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires -that the @file{dvipng} program be available on your system. +that the @file{dvipng} program or @file{imagemagick} suite be available on +your system. @end enumerate @node Working with MathML or OpenDocument formula files, , Working with @LaTeX{} math snippets, Math formatting in ODT export diff --git a/lisp/org.el b/lisp/org.el index f8cd447..fb5099e 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -3764,9 +3764,9 @@ images at the same place." \\usepackage[usenames]{color} \\usepackage{amsmath} \\usepackage[mathscr]{eucal} -\\pagestyle{empty} % do not remove \[PACKAGES] \[DEFAULT-PACKAGES] +\\pagestyle{empty} % do not remove % The settings below are copied from fullpage.sty \\setlength{\\textwidth}{\\paperwidth} \\addtolength{\\textwidth}{-3cm} @@ -18609,7 +18609,7 @@ share a good deal of logic." (font-height (face-font 'default)) (face-attribute 'default :height nil))) (scale (or (plist-get options (if buffer :scale :html-scale)) 1.0)) - (dpi (number-to-string (* scale (floor (* 0.9 (if buffer fnh 140.)))))) + (dpi (number-to-string (* scale (floor (if buffer fnh 120.))))) (fg (or (plist-get options (if buffer :foreground :html-foreground)) "black")) (bg (or (plist-get options (if buffer :background :html-background)) diff --git a/lisp/ox-html.el b/lisp/ox-html.el index 9843d98..9fc53f1 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -2497,7 +2497,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (case processing-type ((t mathjax) (org-html-format-latex latex-frag 'mathjax)) - (dvipng + ((dvipng imagemagick) (let ((formula-link (org-html-format-latex latex-frag processing-type))) (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link)) ;; Do not provide a caption or a name to be consistent with @@ -2517,7 +2517,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (case processing-type ((t mathjax) (org-html-format-latex latex-frag 'mathjax)) - (dvipng + ((dvipng imagemagick) (let ((formula-link (org-html-format-latex latex-frag processing-type))) (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link)) (org-html--format-image (match-string 1 formula-link) nil info)))) diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el index e89306e..0b7a653 100644 --- a/lisp/ox-odt.el +++ b/lisp/ox-odt.el @@ -3772,9 +3772,10 @@ contextual information." (setq processing-type 'mathml) (message "LaTeX to MathML converter not available.") (setq processing-type 'verbatim))) - (dvipng + ((dvipng imagemagick) (unless (and (org-check-external-command "latex" "" t) - (org-check-external-command "dvipng" "" t)) + (org-check-external-command + (if (eq processing-type 'dvipng) "dvipng" "convert") "" t)) (message "LaTeX to PNG converter not available.") (setq processing-type 'verbatim))) (otherwise @@ -3787,7 +3788,7 @@ contextual information." (message "Formatting LaTeX using %s" processing-type) ;; Convert `latex-fragment's and `latex-environment's. - (when (memq processing-type '(mathml dvipng)) + (when (memq processing-type '(mathml dvipng imagemagick)) (org-element-map tree '(latex-fragment latex-environment) (lambda (latex-*) (incf count) @@ -3796,13 +3797,13 @@ contextual information." (cache-dir (file-name-directory input-file)) (cache-subdir (concat (case processing-type - (dvipng "ltxpng/") + ((dvipng imagemagick) "ltxpng/") (mathml "ltxmathml/")) (file-name-sans-extension (file-name-nondirectory input-file)))) (display-msg (case processing-type - (dvipng (format "Creating LaTeX Image %d..." count)) + ((dvipng imagemagick) (format "Creating LaTeX Image %d..." count)) (mathml (format "Creating MathML snippet %d..." count)))) ;; Get an Org-style link to PNG image or the MathML ;; file. -- 1.7.10.4 [-- Attachment #3: Type: text/plain, Size: 6 bytes --] -- ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 13:08 ` Feng Shu @ 2013-07-15 7:43 ` Nicolas Goaziou 0 siblings, 0 replies; 7+ messages in thread From: Nicolas Goaziou @ 2013-07-15 7:43 UTC (permalink / raw) To: Feng Shu; +Cc: emacs-orgmode@gnu.org Hello, Feng Shu <tumashu@gmail.com> writes: > This is version 2, Thanks for the update. It looks mostly good. I have just one question about it. > \\usepackage[usenames]{color} > \\usepackage{amsmath} > \\usepackage[mathscr]{eucal} > -\\pagestyle{empty} % do not remove > \[PACKAGES] > \[DEFAULT-PACKAGES] > +\\pagestyle{empty} % do not remove > % The settings below are copied from fullpage.sty > \\setlength{\\textwidth}{\\paperwidth} > \\addtolength{\\textwidth}{-3cm} Is there a reason for that change? Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] bugfix: fix previewing latex fragments with imagemagick 2013-07-14 8:29 ` Nicolas Goaziou 2013-07-14 8:35 ` Nicolas Goaziou @ 2013-07-14 13:03 ` Feng Shu 1 sibling, 0 replies; 7+ messages in thread From: Feng Shu @ 2013-07-14 13:03 UTC (permalink / raw) To: emacs-orgmode Nicolas Goaziou <n.goaziou@gmail.com> writes: > Hello, > > feng shu <tumashu@gmail.com> writes: > >> Previewing and exporting latex fragments with imagemagick has been broken >> when new export system merged. This is the fix patch. > > Thanks for the patch. Here are a few comments. > >> Subject: [PATCH] bugfix: fix generating formula image with imagemagick when >> previewing and exporting > > Prefer "Fix generating LaTeX formula images" as subject. > >> -@file{dvipng} is used to create images, any @LaTeX{} environment will be >> -handled.}. The only requirement is that the @code{\begin} and @code{\end} >> -statements appear on a new line, at the beginning of the line or after >> -whitespaces only. >> +@file{dvipng} program or @file{imagemagick} suite is used to create images, >> +any @LaTeX{} environment will be handled.}. The only requirement is that the >> +@code{\begin} and @code{\end} statements appear on a new line, at the >> +beginning of the line or after whitespaces only. >> @item >> Text within the usual @LaTeX{} math delimiters. To avoid conflicts with >> currency specifications, single @samp{$} characters are only recognized as >> @@ -10196,10 +10196,11 @@ You can also set this variable on a >> per-file basis using one of these >> lines: >> >> @example >> -#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} >> -#+OPTIONS: tex:dvipng @r{Force using dvipng images} >> -#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} >> -#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} >> +#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} >> +#+OPTIONS: tex:dvipng @r{Force using dvipng images} >> +#+OPTIONS: tex:imagemagick @r{Force using images converted by imagemagick} >> +#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} >> +#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} >> @end example > > It should be: > > @example > #+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} > #+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} > #+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} > @end example > > because `org-export-with-latex' provides neither `dvipng' nor > `imagemagick' options. Those are added by some back-ends (e.g., > `org-html-with-latex'). > I just find "dvipng" and add a similar "imagemagick" line below..... Good luck.... >> @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} >> fragments, Embedded @LaTeX{} >> @@ -10207,8 +10208,8 @@ lines: >> @cindex @LaTeX{} fragments, preview >> >> @vindex org-latex-create-formula-image-program >> -If you have @file{dvipng} or @file{imagemagick} installed@footnote{Choose the >> -converter by setting the variable >> +If you have @file{dvipng} program or @file{imagemagick} suite >> +installed@footnote{Choose the converter by setting the variable > > Does this change really matter? > >> -@cindex dvipng >> +@cindex dvipng or imagemagick > > Use > > @cindex dvipng > @cindex imagemagick > > instead. > >> @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two >> different ways on HTML pages. The default is to use the >> @@ -11282,13 +11283,21 @@ this line. >> If you prefer, you can also request that @LaTeX{} fragments are processed >> into small images that will be inserted into the browser page. Before the >> availability of MathJax, this was the default method for Org files. This >> -method requires that the @file{dvipng} program is available on your system. >> -You can still get this processing with >> +method requires that the @file{dvipng} program or @file{imagemagick} suite is >> +available on your system.You can still get this processing with > > Mind the spaces: too many before "or", not enough before "You". > >> +or: >> + >> +@example >> +#+OPTIONS: tex:imagemagick >> +@end example >> + >> + >> + > > Nitpick: No need for so many blank lines. > >> -@cindex dvipng >> +@cindex dvipng or imagemagick > > See above. > >> @item PNG images >> >> This option is activated on a per-file basis with >> @@ -12273,9 +12282,16 @@ This option is activated on a per-file basis with >> #+OPTIONS: LaTeX:dvipng >> @end example >> >> +or: >> + >> +@example >> +#+OPTIONS: LaTeX:imagemagick >> +@end example >> + > > OK. But documentation is still wrong here. It should be "tex:dvipng" and > "tex:imagemagick". Good luck +1 > >> -that the @file{dvipng} program be available on your system. >> +that the @file{dvipng} program or @file{imagemagick} suite be available on >> +your system. > > Check white spaces. > >> - (dpi (number-to-string (* scale (floor (* 0.9 (if buffer fnh 140.)))))) >> + (dpi (number-to-string (* scale (floor (if buffer fnh 120.))))) > > Note sure about this change. Why do you think it is needed? Compared with buffer font height, The font height in image generated seemd too small, This may be a bug I introduced when I coded imagemagick feature a year ago. > >> - (dvipng >> + ((or dvipng imagemagick) > > It should be: > > ((dvipng imagemagick) > > See `case' documentation. > >> - (dvipng >> + ((or dvipng imagemagick) > > Ditto. > >> - (dvipng >> + ((or dvipng imagemagick) > > Ditto. > >> (unless (and (org-check-external-command "latex" "" t) >> - (org-check-external-command "dvipng" "" t)) >> + (org-check-external-command "dvipng" "" t) >> + (org-check-external-command "convert" "" t)) > The imagemagick feature use (car org-latex-pdf-process) to generate pdf file , then convert it to image. check "latex" may be no effort, but it has no harm too. > There's a missing `or': > > (or (org-check-external-command "dvipng" "" t) > (org-check-external-command "convert" "" t)) > >> (case processing-type >> - (dvipng "ltxpng/") >> + ((or dvipng imagemagick) "ltxpng/") > > See above. > >> (case processing-type >> - (dvipng (format "Creating LaTeX Image %d..." count)) >> + ((or dvipng imagemagick) (format "Creating LaTeX Image %d..." count)) > > See above. > > > Regards, -- ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-07-15 7:43 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-07-14 7:02 [PATCH] bugfix: fix previewing latex fragments with imagemagick feng shu 2013-07-14 7:06 ` feng shu 2013-07-14 8:29 ` Nicolas Goaziou 2013-07-14 8:35 ` Nicolas Goaziou 2013-07-14 13:08 ` Feng Shu 2013-07-15 7:43 ` Nicolas Goaziou 2013-07-14 13:03 ` Feng Shu
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).