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 及其計算庫不相容,可能會導致不可恢復的錯誤

但是,我不認為這與我的問題有任何联系,因為即使我透過設定解決錯誤,問題仍然存在\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。所以我想這個故事還會繼續下去。

相關內容