我有两个问题与memoir
目录有些相关,因为对我来说,它们都涉及同一件事,我希望将它们归为一组是可以的,如果将来我应该分别提问,请告诉我,我会这样做。
首先:我只想缩进简短目录中的 \mainmatter 条目,但无法使用 来做到这一点,因为\cftsetindents
当我使用 时它会缩进所有条目\cftsetindents{chapter}
,有没有办法区分目录中\frontmatter
的\mainmatter
和条目?\appendix
\documentclass[oneside]{memoir}
% Creating short table of contents (Comes before main TOC in my actual file)
\newcommand*{\setupshorttoc}{%
\renewcommand*{\contentsname}{Short Contents} % Title of the contents
\renewcommand*{\changetocdepth}[1]{} % Changes toc depth
\setcounter{tocdepth}{0} % Chapters and above
\cftsetindents{chapter}{1.5em}{3.0em} % Indents front matter, main matter and appendices
}
\begin{document}
\frontmatter
\tableofcontents*
\newpage
\setupshorttoc
\tableofcontents*
\newpage
\listoffigures
\mainmatter
\chapter{Introduction}
\section{Research Aims}
\appendix
\chapter{Research}
\end{document}
第二:我尝试制作页面内容{empty}
并在页码上方添加“页面”,但当我单独发出参数时,它们自然会覆盖先出现的参数。我确信这是基本的,与此无关,memoir
但一旦我知道如何在同一命令中对参数进行分组,那么从这一点开始我就知道了。例如:
\documentclass{memoir}
\usepackage{blindtext}
% Trying to combine commands is leading to unexpected output such as increased lengths in between `Page' and numbers
\newcommand*{\setuptoc}{%
\renewcommand*{\aftertoctitle}{%
\par\nobreak \mbox{}\hfill{\normalsize\bfseries Page}\par\nobreak%
\thispagestyle{empty}\afterchaptertitle} % Instruction
}
\begin{document}
\frontmatter
\setuptoc
\tableofcontents
\mainmatter
\chapter{Introduction}
\section{Research Aims}
\Blindtext[1]
\end{document}
这实现了我想要的,空白的页面样式和页码上方的页面,但导致了这样的空白:
\newcommand
在同一个或中拥有多个参数/指令的正确方法是什么\renewcommand
?
答案1
对于第一个问题,我不知道您所提问题的答案。长目录和短目录都将从文档.toc
文件中获取输入,因此文件中的内容.toc
将用作两个目录的来源。
您可以\addtocontents{toc}{<stuff>}
在之后使用\frontmatter
,mainmatter
并backamatter
更改 ToC 输出,但这将适用于您的长 ToC 和短 ToC。
关于你的第二个问题,你需要改变代码的顺序\renewcommand*{\aftertoctitle}{%
% memtocs2prob.tex SE 603431 (second question)
\documentclass{memoir}
\usepackage{blindtext}
% Trying to combine commands is leading to unexpected output such as increased lengths in between `Page' and numbers
\newcommand*{\setuptoc}{%
\renewcommand*{\aftertoctitle}{%
\thispagestyle{empty}%\afterchaptertitle} % Instruction
\par\nobreak \mbox{}\hfill{\normalsize\bfseries Page}\par\nobreak%
% \thispagestyle{empty}\afterchaptertitle} % Instruction
}}
\begin{document}
\frontmatter
\setuptoc
\tableofcontents
\mainmatter
\chapter{Introduction}
\section{Research Aims}
\Blindtext[1]
\end{document}
答案2
设法解决了如何区分短目录中的不同\mainmatter
条目,以便仅缩进一种类型。来自 daleif\appendix
memoir
不久以前,在条目前添加“附录”的命令如下:
\renewcommand\cftappendixname{\appendixname~}
可以通过添加\hspace{}
或类似内容进行修改。经过手动反复试验找到最佳对齐的厘米长度后,给出了一个示例:
\documentclass[oneside]{memoir}
% Preamble to set up the short table of contents
\newcommand*{\setupshorttoc}{%
\renewcommand*{\contentsname}{Short Contents} % Title of the contents
\let\oldchangetocdepth\changetocdepth % Defining oldchangetocdepth to be the default definition
\renewcommand*{\changetocdepth}[1]{} % Changes toc depth
\setcounter{tocdepth}{0} % Chapters and above
\renewcommand*{\cftchapterfont}{\normalsize} % Changes font, spacing of the list on the left
\renewcommand*{\cftchapterdotsep}{\cftdotsep} % Chapters include dots in short contents
\renewcommand*{\cftchapterleader}{%
\sffamily\cftdotfill{\cftchapterdotsep}} % Font and format of leader between page numbers and content
\renewcommand*\cftappendixname{\appendixname~} % Adds `Appendix' before appendix letter
\setpnumwidth{2.55em} % Changes page number width to standard 2.55em
\renewcommand*{\cftchapteraftersnum}{.} % Added dots after ch. names, applied globally so may affect lists
\renewcommand*{\cftchapterformatpnum}[1]{%
\hbox {\hfil{\cftchapterfont ##1}}} % Sets page number font
% Change either \hspace to something else or change the dimensions %
\renewcommand*\cftchaptername{%
\hspace{0.245cm}\chaptername~}
% % The below equally works as above
% \renewcommand*\cftchaptername{%
% \hspace{0.245cm}Chapter }
}
%
%\newcommand*{\setupmaintoc}{%
% % Instructions here for reverting back from short TOC to long TOC
% }
\begin{document}
\frontmatter
\setupshorttoc
\tableofcontents*
\newpage
\listoftables
\newpage
\listoffigures
\newpage
\mainmatter
\chapter{One}
\section{Aims}
\chapter{Two}
\section{Research}
\chapter{One}
\section{Aims}
\chapter{Two}
\section{Research}
\appendix
\chapter{One}
\section{Aims}
\chapter{Two}
\section{Research}
\chapter{One}
\section{Aims}
\chapter{Two}
\section{Research}
\end{document}
然后,只需按需要缩进章节标题,如果需要,还可以更改为附录。我希望章节稍微缩进一点,这样它们就突出来了,反正一整页的直线内容对我来说看起来不太好看。
如果有人能做出改进,尤其是如何自动对齐不同类型之间的相邻章节标题(如下图所示:第 4 章 - 附录 A),那就太好了。希望这能在未来对某些人有所帮助。