診斷 Standalone 和 Gensymb 衝突

診斷 Standalone 和 Gensymb 衝突

免責聲明:我是 LaTeX 新手,並且是自學的。

我正在嘗試製作一個“單位圓”TikZ 圖形,其中我希望在節點的標籤文字中包含包\degree中的符號。gensymb

我目前的工作流程涉及該standalone包,並使用該\include命令創建一種“主文件”,其中包含我在其自己的頁面上的每個創作,我使用“來自另一個項目的輸出文件”和包在其他Overleaf 專案中引用該graphicx檔案以減少編譯時間。可能有更好的方法來做到這一點,但它對我來說足夠簡單,而且我喜歡將所有內容都放在或多或少相同的位置,這樣我就可以在圖像之間進行快速引用。到目前為止,它一直有效,直到現在...

我的問題是,如果我不必每次添加新圖片時都更新主文檔的序言,那就更好了,特別是因為我在那裡定義了偶爾使用相同名稱的顏色等內容(例如,gradient1)。因此,我\usepackage[subpreambles]{standalone}分別加載並閱讀每個獨立的前言。再說一次,到目前為止,這種方法效果很好,我自己已經能夠解決任何問題。

[subpreambles]我無法準確診斷原因,但標籤和載入套件發生了一些問題gensymb。這是我的 MWE:

\documentclass[tikz]{standalone}
\usepackage{textcomp,gensymb} % for degree symbol

\begin{document}
\begin{tikzpicture}
        \node at (0,0) {$0\degree$};
\end{tikzpicture}
\end{document}

我在背面有這樣的內容degree-test.tex。當我嘗試在另一個文件中引用該文件時:

\documentclass[tikz]{standalone}
\usepackage[subpreambles]{standalone}

\begin{document}
    \include{degree-test}
\end{document}

我收到錯誤:Package standalone Warning: Sub-preamble of file 'degree-test.tex' has changed. Content will be ignored. Please rerun LaTeX! on input line 4.

我使用 LuaLaTeX 進行編譯,但其他編譯器會產生類似的結果。即使從節點標籤中刪除也會\degree產生錯誤,儘管實際上並未使用該符號。肯定與在序言中定義某些內容的命令有某種衝突,但我不知道如何閱讀錯誤日誌,而且它們表面上非常可怕。

有一個簡單的解決方法嗎?

編輯:我也取消了\documentclass[tikz]{standalone}\includevs\includestandalone作為罪魁禍首的資格。

答案1

因此,根據用戶 @Davislor 的說法這個 TeX.SE 論壇,我可以刪除該套件gensymb並簡單地使用\textdegree它是現代 LaTeX 發行版的一部分。它在數學模式下不起作用,這是不幸的,但對於我的應用程式來說,這是勉強可以接受的。用著$\textrm{\textdegree}$就好。

對於那些好奇的人來說,\ang{}該包提供的內容siunitx看起來太空了,不適合我的口味,如上面鏈接的帖子所示,它與^\circ.

相關內容