Отказ от ответственности: я новичок в LaTeX и самоучка.
Я пытаюсь создать графику TikZ «Единичная окружность», в которой я хотел бы иметь символ \degree
из gensymb
пакета в тексте метки узла.
Мой текущий рабочий процесс включает standalone
пакет и использует \include
команду для создания своего рода «главного файла», содержащего каждое из моих творений на своей собственной странице, на которую я ссылаюсь в других проектах Overleaf, используя «выходной файл из другого проекта» и пакет graphicx
для сокращения времени компиляции. Вероятно, есть лучший способ сделать это, но он достаточно прост для меня, и мне нравится, когда все находится более или менее в одном месте, чтобы я мог быстро делать ссылки между своими изображениями. Это работало до сих пор, до сих пор...
Моя проблема в том, что предпочтительнее, если мне не нужно обновлять преамбулу моего главного документа каждый раз, когда я добавляю новую картинку, особенно потому, что там я определяю такие вещи, как цвета, которые иногда используют одинаковые имена (например, градиент1). Поэтому я загружаю, \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}
который у меня есть в Overleaf как 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
из метки узла приводит к ошибке, несмотря на то, что на самом деле символ не используется. Должно быть, есть какой-то конфликт с командами, которые определяют определенные вещи во время преамбулы, но я не знаю, как читать журналы ошибок, и они очень пугающие на первый взгляд.
Есть ли простое решение этой проблемы?
EDIT: Я также дисквалифицировал \documentclass[tikz]{standalone}
и \include
против \includestandalone
как виновных.
решение1
Итак, по словам пользователя @Davislor наэтот форум TeX.SE, я могу удалить пакет gensymb
и просто использовать \textdegree
, который является частью современных дистрибутивов LaTeX. Он не работает в математическом режиме, что прискорбно, но для моего приложения это неохотно приемлемо. Использование $\textrm{\textdegree}$
нормально.
Для тех, кому интересно, \ang{}
предоставленный пакет siunitx
выглядит слишком пустым на мой вкус, что, как показано в посте, ссылка на который приведена выше, совпадает с ^\circ
.