如何使用versions.sty来更改章节标题?

如何使用versions.sty来更改章节标题?

我尝试使用versions.sty(0.55)在文档的不同版本中使用不同的节标题。我在编译时遇到错误;这是MWE:

%!TEX encoding = UTF-8 Unicode
%!TEX TS-program = pdflatexmk 
\documentclass{article}

\usepackage{versions}
\includeversion{draft}

\begin{document}
\section{\begin{draft}This is a draft of\end{draft} Introduction}
Some text
\end{document}

错误是:

Argument of \@sect has an extra }.
<inserted text> 
                \par 
l.9 ...This is a draft of\end{draft} Introduction}

有什么建议吗?谢谢!

答案1

适用\section{\protect\begin{draft}This is a draft of\protect\end{draft} Introduction}于标题和目录,但不适用于页眉。

versions软件包还提供了可以在此处使用的宏\processifversion。它适用于所有三个,即标题、目录和页眉。

编辑:

之间的空间介绍\excludeversion必须是可选内容的一部分。否则,如果使用,它将出现在标题中。并且\protect。并且不能使用,因为使用它,这是不管怎样都会出现在标题中\excludeversion。这在源代码中看起来不太好,但该空间在逻辑上属于草稿内容。

\documentclass{article}

\usepackage{versions}
\includeversion{draft}

\pagestyle{headings}

\begin{document}
\tableofcontents

\newpage
\section{\protect\processifversion{draft}{This is a draft of }Introduction}
% watch the  space -----------------------------------------^
Some text
\end{document}

相关内容