我正在使用该shorttoc
包制作我的书的第二个目录。这是一个简单示例:
\documentclass{scrbook}
\usepackage{shorttoc}
\begin{document}
\shorttoc{Contents at a Glance}{0}
\renewcommand*\contentsname{Table of Contents}
\tableofcontents
\chapter{Foo}
\section{Foo1}
\section{Foo2}
\section{Foo3}
\chapter{Bar}
\section{Bar1}
\section{Bar2}
\chapter{Baz}
\section{Baz1}
\section{Baz2}
\section{Baz3}
\end{document}
这样做很好,只是简短的目录每章后面都有一个空行,这是我不想要的。(这本书大约有 20 章,如果没有空行,它们可以全部放在一页上。)
不过,我确实想保留正常(长)目录的格式。
答案1
按照 cfr 的想法,这里有一个解决方案:这些变化是本地的shorttoc
\documentclass{scrbook}
\usepackage{shorttoc}
\usepackage{etoolbox}
\begin{document}
\makeatletter
{\patchcmd{\l@chapter}{\vskip 1.0em \@plus\p@}{}{}{\errmessage{paching \string\l@chapter fail}}
\patchcmd{\l@chapter}{\addvspace{1.0em \@plus\p@}}{}{}{\errmessage{paching \string\l@chapter fail}}
\shorttoc{Contents at a Glance}{0}}
\makeatother
\renewcommand*\contentsname{Table of Contents}
\tableofcontents
\chapter{Foo}
\section{Foo1}
\section{Foo2}
\section{Foo3}
\chapter{Bar}
\section{Bar1}
\section{Bar2}
\chapter{Baz}
\section{Baz1}
\section{Baz2}
\section{Baz3}
\end{document}