我想要一个在左侧列出页码的目录,没有虚线或类似的东西。要包含的项目是\section*
项目,我认为只有通过使用 才能最终出现在目录中\addcontentsline
。查看图像以了解它应该是什么样子(我强烈怀疑该图像是通过滥用 生成的enumerate
,出于显而易见的原因,我宁愿不这样做)。
编辑:现在我使用带有物理键盘的计算机,可以打字更快一些:
该文件是一份期刊,论文格式为section
s。目前论文的大致格式如下:
\section*{Title}
\textbf{Author}\\
\textit{Institution}\\
Lorem ipsum...
\subsection{Introduction}
\subsubsection{Definitions}
...
\subsection*{References}
请注意,论文标题没有编号,而论文中的小节有编号。我希望能够自动生成包含论文标题和作者的目录,格式和排列如图所示。我完全可以制作论文开头的宏(即类似的东西\newpaper{Title}{Author}{Institution}
扩展到上面)。我尝试阅读和的文档titletoc
,tocloft
但发现它们至少有些晦涩难懂。
序言目前使用了大量软件包,包括fancyhdr
,因此如果可能的话,我更喜欢一种附带损害最小的解决方案。
答案1
从您的示例中,我假设所有部分均未编号。在这种情况下,您不应使用 \section*,而应使用普通的 \section 命令,只需更改决定标题编号级别计数器即可,例如,
\setcounter{secnumdepth}{0}
如果这样做,那么所有这些部分将自动显示在目录中。
至于根据需要格式化条目,请使用 titletoc 包,它可以让您轻松实现这样的结果。例如,您可以在此处找到一个示例: 将目录中的所有部分列在一行中 而且在本网站的许多其他地方也有。
更新
好的,所以在问题编辑后情况发生了一些变化。换句话说,\section* 命令用于论文标题,然后 \subsection 等构成论文中的标题命令。这可能不是最好的方法,原因有很多,例如,缺少 section 命令的子节将显示 0.1 等,但最重要的是,这意味着不能使用 article 类编写一篇论文。但好吧,就这样吧 :-)
因此,请尝试以下方法:
\documentclass{article}
\newcommand\newpaper[3]{%
\clearpage
\section*{#1}%
\addcontentsline{toc}{section}{#1\tocauthor{#2}\tocinstitution{#3}}
\textbf{#2}\\
\textit{#3}\par
\vspace{5mm}%
}
\newcommand\tocauthor[1]{\\\textmd{#1}}
\newcommand\tocinstitution[1]{}
\usepackage{titletoc}
\titlecontents{section}[3pc]
{\addvspace{1.4pc}\bfseries}
{}{{\hspace*{-3pc}\makebox[3pc]{\thecontentspage.\hfil}}}{}[\addvspace{.2pc}]
\renewcommand\thesubsection{\arabic{subsection}}
\setcounter{tocdepth}{1}
\begin{document}
\tableofcontents
\newpaper{this is the title of the first paper}{author}{inst}
Lorem ipsum...
\subsection{Introduction}
\subsubsection{Definitions}
...
\subsection*{References}
\newpaper{And here the title of the second paper}{author2}{inst2}
\end{document}
无法向您显示输出,因为我不知道如何从 iPad 将图片包含到此文本中,而 iPad 是我目前可用的设备。
上面的代码做了一堆硬连线设置,需要根据个人喜好进行调整,但它确实大致生成了问题中给定示例的设计。至于 titletoc 文档,我认为它并不难理解,但确实需要花一两分钟。