当我跑步时
\documentclass{article}
\usepackage{amsmath}
\usepackage[active, tightpage, displaymath]{preview}
\begin{document}
\begin{equation*}
1+2 = 3
\end{equation*}
\end{document}
我检查了这个问题“使用预览包裁剪方程式”但是那里提供的解决方案,使用外部脚本或替换所有内联方程式,对我来说不起作用,因为该图像片段将用于 Emacs auctex 预览,自动将“ \usepackage[options...]{preview}
”插入到原始 tex 文档中,生成方程式片段,然后将它们叠加在方程式字符串上,使编辑更像所见即所得。
无论如何,Emacs auctex 变量preview-default-preamble
允许我在生成预览图像时向前言中插入一些自定义字符串,所以我正在寻找类似的东西
\renewcommand{\begin{equation*}}{\begin{math}\displaystyle}
\renewcommand{\end{equation*}}{\end{math}}
当我运行时插入到序言中preview-document
。
但这些天真的\renewcommand
命令当然不起作用。我知道我可以使用\renewcommand
或甚至\def
或\let
来重新定义宏,但我该如何对具有某些参数的宏执行此操作?更直接地说,
我应该在序言中放入什么以便每当编译器看到
\begin{equation*}
它时就用它替换它\begin{math}\displaymath
并运行它?
PS. 这可能看起来像一个 XY 问题,但我也对找到解决方案感兴趣,因为我可以用它做其他事情。:-)
答案1
感谢 ShreevatsaR 的评论,我找到了它,它很简单!我不知道为什么我如此痴迷于宏,但我只是把
\renewenvironment{equation*}{\begin{math}\displaystyle}{\end{math}}
并且它完美地工作了。(虽然我不能代替$
和\begin{math}
,\end
但这不是什么大问题,并且可以理解为什么它不起作用。)
我还会编辑标题,因为这个带有间距的预览对我来说很长一段时间以来都是一个小烦恼(参见如何在公式上设置预览乳胶左缩进?)。