如何tikz
仅在未加载时有条件地加载和绘制 TikZ 图preview
,即 AUCTeX 不会为其他内容(例如数学公式)生成图像?
梅威瑟:
\documentclass{amsart}
\usepackage{tikz} %*
\begin{document}
\[ a^2 + b^2 = c^2 \]
\begin{figure}[htbp]
\begin{tikzpicture} %*
\draw (0, 0) -- (1, 1); %*
\end{tikzpicture} %*
\end{figure}
\end{document}
我想排除%*
AUCTeX 生成图像时的线条。
附录:AUCTeXpreview
使用加载\AtBeginDocument
,如下所示:
latex -ini -interaction=nonstopmode "&latex" prv_hoge.ini "\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,floats,graphics,textmath,sections,footnotes]{preview}[2004/11/05]\fi}" "\input" mwe.tex
因此,使用\@ifpackageloaded
前言中的分支不太可行。有什么替代方案吗?
答案1
您可以使用\@ifpackageloaded{preview}{}{}
。
参考:
代码:
\documentclass{amsart}
\makeatletter
\@ifpackageloaded{preview}{%
}{%
\usepackage{tikz}%
}%
\makeatother
\begin{document}
\[ a^2 + b^2 = c^2 \]
\begin{figure}[htbp]
\begin{tikzpicture} %*
\draw (0, 0) -- (1, 1); %*
\end{tikzpicture} %*
\end{figure}
\end{document}