我习惯\shorttoc
在开头放一个简短的目录,\tableofcontents
在结尾放一个完整的目录。
我需要拆分完整的目录,但不需要拆分较短的目录。希望下面的简单示例可以解释这一点以及原因。
现在如果我使用
\addtocontents{toc}{\protect\pagebreak}
当我希望分页符出现时,它也将(以一种相当丑陋的方式)影响简短的目录。
最小示例:
\documentclass[11pt,b5paper]{book}
\usepackage[tight]{shorttoc}
\begin{document}
\shorttoc{\centerline{\large{SOMMAIRE}}}{0}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\addtocontents{toc}{\protect\pagebreak}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Last Chapter}
\tableofcontents
\end{document}
答案1
而不是使用:
\addtocontents{toc}{\protect\pagebreak}
使用
\addtocontents{toc}{\protect\tocbreak}
无论您想在何处添加简短目录,都可以写入:
\let\tocbreak=\relax
\shorttoc{\centerline{\large{SOMMAIRE}}}{0}
无论你想在何处添加长目录,你都可以写入:
\let\tocbreak=\pagebreak
\tableofcontents
因此,你的例子就变成:
\documentclass[11pt,b5paper]{book}
\usepackage[tight]{shorttoc}
\begin{document}
\let\tocbreak=\relax
\shorttoc{\centerline{\large{SOMMAIRE}}}{0}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\addtocontents{toc}{\protect\tocbreak}
\chapter{Chapter} \section{Section} \section{Another section} \section{Yet another section}
\chapter{Last Chapter}
\let\tocbreak=\pagebreak
\tableofcontents
\end{document}