我几乎成了 LaTeX 的初学者。我希望使用注释包来指示共享论文每个部分的作者姓名(即负责撰写的人)。然后可以暂时将其显示在目录中。但在手册中:“打开和关闭命令再次出现在一行上。”显然我的代码不起作用,我不清楚如何解决它。有什么建议吗?非常感谢!迈克尔
\documentclass[10pt,letterpaper]{article}
\usepackage{comment}
\includecomment{sectionauthor}
\begin{document}
\section{First Section \sectionauthor Me \endsectionauthor }
\section{Second Section \sectionauthor You \endsectionauthor }
\end{document}
答案1
有一种方法可以做到这一点:命令\sectionauthor
必须具有两个不同的含义,我们通过在排版目录时在组内更改其定义来实现它。
\documentclass{article}
\usepackage{etoolbox}
\newrobustcmd{\sectionauthor}[1]{%
\unskip % remove the space before it
\\ % go to a new line
{\normalsize\normalfont #1}%
}
\newcommand{\titlesectionauthor}[1]{%
{\normalfont (#1)}% section author in parentheses
}
\begin{document}
\begingroup % make the change to \sectionauthor local
\let\sectionauthor\titlesectionauthor
\tableofcontents
\endgroup
\section{First Section \sectionauthor{Me}}
\section{Second Section \sectionauthor{You}}
\end{document}
我使用\newrobustcmd
from 是etoolbox
因为它比标准更实用\DeclareRobustCommand
。必须将其声明\sectionauthor
为 robust,因为这将使 LaTeX 将其不加修改地写入.toc
文件中,因此我们也可以使用它来赋予它新的含义。
我已经应用了一些格式说明,请对其进行修改以满足您的需要。
您可以对两种可能性实现“打开和关闭”:
\documentclass{article}
\usepackage{etoolbox}
% comment the following line if you don't want the author to show in the body
\newtoggle{sectionauthor}
% comment the following line if you don't want the author to show in the TOC
\newtoggle{tocsectionauthor}
\toggletrue{sectionauthor}
\toggletrue{tocsectionauthor}
\newrobustcmd{\sectionauthor}[1]{%
\iftoggle{sectionauthor}
{% what to do if the toggle is true
\unskip % remove the space before it
\\ % go to a new line
{\normalsize\normalfont #1}%
}
{% what to do if the toggle is false
\unskip % remove the space before it
}%
}
\newcommand{\tocsectionauthor}[1]{%
\iftoggle{tocsectionauthor}
{% what to do if the toggle is true
{\normalfont (#1)}% section author in parentheses
}
{% what to do if the toggle is false
\unskip % remove the space before it
}%
}
\begin{document}
\begingroup % make the change to \sectionauthor local
\let\sectionauthor\tocsectionauthor
\tableofcontents
\endgroup
\section{First Section \sectionauthor{Me}}
\section{Second Section \sectionauthor{You}}
\end{document}
不注释这两行(行前加一个就足够了)的输出%
与上面相同。如果我们只注释第一行,我们会得到
如果我们只注释第二行,则会从目录中删除名称,但将其保留在正文中。注释掉两行,名称将完全消失。