是否有一些 Latex 样式指南,其中有专门用于标签的部分?我想使用一些持久的标签方案,但不知道任何方案(除了我心中不确定的方案)。
我应该使用什么标签方案?为什么?我想找到以下一些(但不是全部)问题的答案:
- 是否应该
:
将标记环境与标签本身分开(例如thm:label
)?为什么? - 我应该使用
-
或_
或其他东西作为分隔(例如eq:my_equations
vseq:my-equation
vseq:MyEquation
)吗? - 如何进行嵌套标记?(例如定理环境中的方程式)
我想找到一些成熟的标签方案,这些方案有利于阅读、编辑器中的自动完成和重构。如有任何参考,我将不胜感激。
答案1
1)根据我的个人经验,从类别开始会很有帮助(即 thm:表示定理,eq:表示方程,fig:表示图形......),因为您可能有一个方程和一个图形(例如)在一起,所以您可以将它们称为相同的,并通过类别区分它们。
2)对于标签名称,我喜欢使用下划线来分隔单词,但这只是因为我发现不使用分隔符会非常令人困惑。
3) 我在定理中不使用嵌套标签,但是,当我有一个方程组时,我会使用子方程环境(标记为 1a、1b...)并标记整个方程组,这样当我引用它时,我就会得到数字(在我的例子中是 1),然后我只需手动添加字母即可。我这样做是因为这样可以避免使用太多标签,而且通常效果很好,因为我不会改变这些方程的顺序。
我希望这可以帮助你!
答案2
我使用以下内容。
1) 我同意 @FerranBrosaPlannella 的观点,对类别使用前缀是个好主意。我还认为前缀应该与名称分开,这在某种程度上:
是一种标准做法。我不认为像定理、命题、引理、观察等类别应该有不同的前缀。它们的含义基本相同,我有时会改变主意,认为某个东西应该是命题还是引理,所以我thm:
对它们都使用前缀。同样,我def:
对定义、符号、约定等使用前缀……
2) 我也喜欢将单词分开,并用它_
来表示这个。我有时也会-
在标签中用它来表示其他东西。例如,有一种东西叫做“I 空间”,如果有一个关于 I 空间分解的定理,我会给它贴上标签thm:I-space_decomposition
。
3) 例如,当我有一个关于多个条件之间等价性的定理时,我会使用嵌套标签。定理有标签,条件也有标签,因此它们可以从外部单独引用,也可以在证明中本地引用。我用 分隔标签的嵌套部分.
,因此这样的标签可能看起来像thm:some_equivalence.condition_1
。这样的标签很长,在本地使用时不切实际,因此我定义了一组宏来处理这些本地标签。下面是一个使用示例。
\begin{theorem} \labelblock{thm:main}
The following are equivatent.
\begin{enumerate}
\item First condition. \loclabel{first}
\item Conjunction of the following: \loclabelblock{second}
\begin{enumerate}
\item First part. \loclabel{part_one}
\item Second part. \loclabel{part_two}
\end{enumerate}
\end{enumerate}
\begin{proof}
We can refer to item \locref{first} or subitem \locref{second.part_one}. To prove \locequiv{first}{second} we start with showing \locimpl{first}{second.part_one}.
\end{proof}
\end{theorem}
Now we refer to Theorem \ref{thm:main} and to and item in a theorem: Theorem \itemref{thm:main}{second.part_two}. Now we refer to the item only: \ref{thm:main.second.part_two}.
宏的\labelblock
作用与 相同\label
,但还存储了标签,因此\loclabel
和\locref
可以使用它。\locref{first}
扩展为\ref{thm:main.first}
。 当需要多层嵌套时(这种情况很少见),\loclabelblock
则使用 —— 它是\loclabel
和的组合\labelblock
。\locimple
和\locequiv
宏只是我的宏的本地版本,用于引用定理中条件之间的蕴涵和等价关系。
答案3
我使用type_chapter_detail
样式符号。标签也与源文件名相同(如果标签指向从\input
或文件中引入的项目\includegraphics
),因此fig_theory_bandstructure
很容易与它指向的 .pdf 图配对。可以轻松自动检查以确保所有导入的图都具有\label
和\ref
。
我倾向于将表格放在它们自己的 .tex 文件中 ( \input{tab_theory_materials}\label{tab_theory_materials}
),主要是为了我可以更轻松地找到源代码,并在我做对时只编译表格。这可以很容易地包装在宏中,\input{#1}\label{#1}
但我没有。这种方法可以扩展到复杂的方程式。
我没有使用任何编辑器自动完成功能,因此fig:theory_bandgap
样式符号的好处对我来说就失去了。
答案4
分配标签时需要注意的一个重要事项是拼写检查器。许多拼写检查器会将这些标签或其引用选为拼写错误的单词。
因此,我倾向于只使用数字。数字通常不会被识别为拼写错误的单词。