我正在写的一本书遇到了一个问题。事实如下:
我基本上在一个 tex.file 中工作,我们称之为主文件,我想在其中包含我的其他 tex.files!我有一个布局文件,我将新命令定义为\title
\newcommand{\headtitle}{}
\newcommand{\headauthors}{}
\newcommand{\tocauthors}{}
\newcommand{\title}[1]{
\addcontentsline{toc}{chapter}{#1}
\begin{center} \textbf{\fontsize{60pt}{25pt}\selectfont #1} \normalfont\vspace*{-2ex}\end{center}
\renewcommand{\headtitle}{#1}}
\subtitle
\newcommand{\subtitle}[1]{\begin{center} \doublespacing \textbf{\huge ---\\[1ex] \Huge #1}\end{center}}
等等!
现在我想让 LaTeX 将副标题包含在目录中,就在标题后面,也许--
中间有一个。
目录的命令在我的邮件文件如下:
\begin{document}
%%Layout
\pagestyle{empty}
\input{Layout}
\tableofcontents
答案1
以下是我要采用的方法,但并不完全符合您的要求。我会定义一个命令,\title
无论它是否有可选参数,其行为都会有所不同。以下是该命令的语法
\mytitle[subtitle]{title}
以下是其在 MWE 中的定义:
\documentclass{book}
\usepackage{hyperref}
\makeatletter
\def\mytitle{\@ifnextchar[{\@with}{\@without}}
\def\@with[#1]#2{%
\addcontentsline{toc}{chapter}{#2 -- #1}%
\begin{center}
\textbf{\fontsize{60pt}{25pt}\selectfont #2} \normalfont \textbf{\huge \\ --- \\[1ex] \Huge #1} \vspace*{-2ex}%
\end{center}}
\def\@without#1{%
\addcontentsline{toc}{chapter}{#1}%
\begin{center}
\textbf{\fontsize{60pt}{25pt}\selectfont #1} \normalfont \vspace*{-2ex}%
\end{center}}
\makeatother
\begin{document}
\mytitle{First chapter}
\newpage
\mytitle[Subtitle of the second chapter]{Second chapter}
\tableofcontents
\end{document}
输出
第2页:
第 3 页:
笔记您在目录中将标题作为章节输入,但根据给出的定义,它们不作为章节(您可以在同一页上放置多个标题,未\chaptermark
填充等...)。如果这是您的选择,那就这样吧,如果不是,您可能需要根据您的需要稍微调整一下代码。