我想简化文档中标签的处理,并且如果定义了“变量”,我想显示某个部分的标签。
目前我正在这样做
设置“变量”:
\usepackage{etoolbox}
\newtoggle{DEBUG}
\toggletrue{DEBUG}
%\togglefalse{DEBUG}
然后我像这样使用它:
\label{sec:NAT}
\iftoggle{DEBUG}{
\subsubsection{Network Address Translation (NAT) [sec:NAT]}
}{
\subsubsection{Network Address Translation (NAT)}
}
有没有更好的方法?现在我仍然需要记住在两个地方设置相同的标签。有没有可以实现这一点的库?
我认为最好的情况是如果有一个库可以让我写
\subsection{Section nam}{sec:NAT}
然后根据某些设置它会正确输出并设置标签!
答案1
解决这个问题的正确方法是使用专门为此目的编写的包:showlabels
。
\documentclass{article}
\usepackage{showlabels}
\begin{document}
\section{Introduction}\label{sec:intro}
Blah
\section{Start}\label{sec:start}
Blah
\subsection{Ready}\label{subsec:ready}
Blah
\subsection{Set}\label{subsec:set}
Blah
\subsection{Go}\label{subsec:go}
Blah
\end{document}
只要注释掉该\usepackage{showlabels}
行,标签就不会再显示。
答案2
您可以定义一个包装命令
\newcommand{\subsubsectionwithlabel}[2]{
\iftoggle{DEBUG}{
\subsubsection{#1 [#2]\label{#2}}
}{
\subsubsection{#1\label{#2}}
}
}
并使用它来代替\subsubsection
:
\subsubsectionwithlabel{Network Address Translation (NAT)}{sec:NAT}