TikZ 和 AUCTeX:不同的结果

TikZ 和 AUCTeX:不同的结果

考虑以下 MWE:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
   \draw[thick,fill=yellow!50] (0,0) circle (3);
   \draw[thick,fill=orange!50] (0,0) circle (2.4);
   \foreach \letter [count=\i] in {A,...,Z} {
     \draw[very thin] (0,0) -- ({90-\i*360/26}:3);
     \path (0,0) --node[pos=.9,sloped,allow upside down,rotate=-90] {\letter} ({360/52+90-\i*360/26}:3);
   }
   \foreach \letter [count=\i] in {G,H,...,Z,A,B,...,F} {
     \path (0,0) --node[pos=.7,sloped,allow upside down,rotate=-90] {\small\letter} ({360/52+90-\i*360/26}:3);
   }
\end{tikzpicture}

\end{document}

它为凯撒密码绘制了一个磁盘。运行时pdflatex结果是正确的。但是,当我使用 Emacs 和 AUCTeX 中的预览功能时,我得到了以下结果:

在此处输入图片描述

我正在使用 AUCTeX 12.2.0。编译运行仅出现一条错误消息:

./地区.tex:11:软件包 tikz 错误:抱歉,某些软件包重新定义了数学模式美元符号的含义。这与 tikz 及其 calc 库不兼容,可能会导致不可恢复的错误

但是,我认为这与我的问题没有任何联系,因为即使我通过设置来解决错误,问题仍然存在\catcode\`$=3

答案1

由于预览包重新定义了,因此编译错误是意料之中的$。摘自手册:

textmath将使所有文本数学都受预览的影响。由于数学模式在 LaTX 内部被充分使用,甚至用于其他目的,因此这通过重新定义\(\)$以及math环境(显然有些人使用它)来实现。因此,只有在稍后加载的包和主文档中出现的这些文本数学分隔符才会受到影响。

但这不是问题的根源。您的问题似乎来自当前 Ghostscript 版本和预览版之间的不愉快交互。请将变量调整preview-pdf-color-adjust-method为符号compatiblenil,然后重试。对我来说它看起来像这样(使用rungs运行 Ghostscript 9.50 的 TeXlive '19):

在此处输入图片描述

这是相应的 LaTeX 代码:

\documentclass{article}

\usepackage{tikz}
\usepackage[displaymath,floats,graphics,footnotes,
% textmath  %% Don't touch $ %%
]{preview}
\PreviewEnvironment{tikzpicture}

\begin{document}

\begin{tikzpicture}
   \draw[thick,fill=yellow!50] (0,0) circle (3);
   \draw[thick,fill=orange!50] (0,0) circle (2.4);
   \foreach \letter [count=\i] in {A,...,Z} {
     \draw[very thin] (0,0) -- ({90-\i*360/26}:3);
     \path (0,0) --node[pos=.9,sloped,allow upside down,rotate=-90]
     {\letter} ({360/52+90-\i*360/26}:3);
   }
   \foreach \letter [count=\i] in {G,H,...,Z,A,B,...,F} {
     \path (0,0) --node[pos=.7,sloped,allow upside down,rotate=-90]
     {\small\letter} ({360/52+90-\i*360/26}:3);
   }
\end{tikzpicture}

\begin{verbatim}
(setq preview-pdf-color-adjust-method t)
(setq preview-pdf-color-adjust-method 'compatible)
(setq preview-pdf-color-adjust-method nil)
\end{verbatim}

\end{document}

我也尝试使用 Ghostscript 9.52 来处理 .tex 文件,结果如下:

在此处输入图片描述

注意周围的黑色斑点M- N。所以我认为故事会继续下去。

相关内容