尽管“我通常不会这样做”,但我正在编写一个简短的文档,我想将一个小的目录分成两栏作为标题页的最后一项。
在单列模式下,它工作正常。但是,当我指定时\twocoltocetc
,我得到了一个新页面。这是一个 MWE:
\documentclass[10pt,a4paper]{memoir}
\twocoltocetc
\begin{document}
\frontmatter
\title{Something or other}
\author{H.I.M. Self}
\maketitle
\tableofcontents*
\mainmatter
\chapter{Introduction}
\chapter{First chapter}
\section{First section}
\end{document}
如果需要的话,我必须做什么才能修复此问题?
答案1
一种快捷方式是暂时禁用\clearpage
目录以防止分页:
\begingroup
\let\clearpage\relax
\tableofcontents*
\endgroup
後來那群人,\clearpage
都有了原来的意思。
答案2
\documentclass[10pt,a4paper]{memoir}
\usepackage{multicol}
\makeatletter
\renewcommand\tableofcontents{%
\begin{multicols}{2}[
\section*{\huge\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}]
\@starttoc{toc}%
\end{multicols}}
\makeatother
\begin{document}
\frontmatter
\title{Something or other}
\author{H.I.M. Self}
\maketitle
\tableofcontents
\mainmatter
\chapter{Introduction}
\chapter{First chapter}
\section{First section}
\end{document}
答案3
不确定这是否更纯粹。这可能只是滥用无辜的回忆录目录格式命令。如果您希望在第一列中有一个标题,后面跟着目录的第一部分,这将不起作用(使用其他答案之一)。但如果您想要在窄标题栏右侧有一个较窄的目录,则可以使用此方法。
\documentclass[10pt,a4paper]{memoir}
\twocoltocetc
\begin{document}
\frontmatter
\title{Something or other}
\author{H.I.M. Self}
\date{\today}
\renewcommand{\tocheadstart}{
{\beforepartskip \centering
{\Huge\bfseries\thetitle} \par
{\Large\theauthor} \par
{\Large\thedate} \afterpartskip
\newpage}
}
\tableofcontents*
\mainmatter
\chapter{Introduction}
\chapter{First chapter}
\section{First section}
\end{document}
答案4
尽管这个问题已经提出六年了,但我仍然想提供一个回忆录解决方案,在标题后添加索引,而不会强制分页。此变体包括 Herber 使用 multicol 包的出色想法,因此索引是两列。我补充说,文本是两列,带有分隔线,以获得良好的视觉效果(在我看来),但也可以与列布局一起使用。
\documentclass[article,12pt,twocolumn]{memoir}
% Herber's solution
\usepackage{multicol}
\makeatletter
\renewcommand\tableofcontents{%
\begin{multicols}{2}[
\section*{\huge\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}]
\@starttoc{toc}%
\end{multicols}}
\makeatother
% My proposal
\renewcommand{\maketitlehookd}[1]{\twocoltocetc\tableofcontents
{{ }\hfill\rule{0.618\linewidth}{1.25pt}\hfill{ }}}
\begin{document}
%\frontmatter
\title{Something or other}
\author{H.I.M. Self}
\maketitle
%\tableofcontents
%\mainmatter
\chapter{Introduction 1}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\section{First section}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\section{Second section}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\chapter{Introduction 2}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\section{First section}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\section{Second section}
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx
xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx xxxxx xxxxxx xxxxxx
\end{document}