我对 TeX 和 LaTeX 知之甚少,但我经常遇到包含被描述为 LaTeX 的标记的字符串,因为包括 MathJax、SymPy 和 Apple 的 Grapher 在内的各种工具都使用 LaTeX 作为数学通用语言。用户通常可以在 GUI 中右键单击格式良好的方程式,并获得其“作为 LaTeX”的表示,或者调用脚本中的方法并获得被描述为包含“LaTeX 标记”的字符串。(我不知道我使用的术语是否正确。)
我正在尝试采用这样的字符串并使用自动化将其转换为特定大小的图像(例如 625 x 465 像素),并将方程式展开或缩小以适合图像,或者,如果做不到,至少居中。
我正在以编程方式创建.tex
文件,使用latex
编译为 DVI,然后使用dvipng
转换为 PNG。我尝试了 Stack Exchange 上阅读的各种建议的 30 多种排列组合。我尝试了包括、和在内的文档类standalone
。我尝试了包括article
、和在内的包。我尝试了包括、、和在内的命令。我尝试了选项和。 report
minimal
graphicx
preview
geometry
resizebox
vspace
topskip
centering
noindent
dvipng
-T
-D
我得到的结果总是不太正确:
其他尺寸正确但为空白(尤其是standalone
与 以外的选项一起使用时preview
)。
我如何才能生成正确显示的特定尺寸的图像?有谁知道可以插入数学标记的 TeX 文档模板和可以正确转换它的 dvipng 命令的组合吗?
我在 Debian 上运行。 latex --version
报告pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian)
。 dvipng --version
报告dvipng 1.14
。
一个示例 latex 命令:
latex -halt-on-error -interaction batchmode -output-directory /data/notebooks/2016-09-13T17:41:22.181658_typesetting /data/notebooks/2016-09-13T17:41:22.181658_typesetting/foo21.tex
dvipng 命令示例:
dvipng -T 6.25in,4.65in -z 9 -bg gray 0.80 -o /data/notebooks/2016-09-13T17:41:22.181658_typesetting/foo21.png /data/notebooks/2016-09-13T17:41:22.181658_typesetting/foo21.dvi
我一直在 Jupyter 笔记本中记录尝试的目录。如果有必要,也许我可以把所有 31 次(并且还在增加)尝试放在 Gist 或类似的东西上,包括文件.tex
、latex
命令、dvipng
命令和结果图像。
答案1
最后,获得我想要的东西的最简单方法是使用文件中preview
带有选项的包,然后使用ImageMagick 中的命令来扩展图像。 tightpage
.tex
convert
这是我用于该文件的模板.tex
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{bm}
\usepackage[active,displaymath,textmath,tightpage]{preview}
\pagestyle{empty}
\begin{document}
$
% MATH GOES HERE
$
\end{document}
某些包和选项可能是不必要的,但是上述内容对我来说有用。
然后我运行这个latex
命令(用你的工作目录替换/bar
):
latex -halt-on-error -interaction batchmode -output-directory /bar /bar/foo.tex
然后这个dvipng
命令(我必须-D
手动为该选项选择一个合适的值):
dvipng -D 225 -z 9 -bg white -o /bar/foo.png /bar/foo.dvi
然后这个convert
命令:
convert /bar/foo.png -background white -gravity center -extent 625x465 /bar/foo_resized.png
为了安装必要的工具,我运行了:
apt-get install texlive
apt-get install texlive-latex-extra
apt-get install dvipng
apt-get install imagemagick