我正在使用tocloft
和tocstyle
使用设置标准和nopagecolumn
我的书籍。我希望这些设置应用于我的用户定义示例列表 (.loe),但运气不佳。我天真地尝试用 替换\usetocstyle
,\useloestyle
但没有成功。使用\renewcommand{\cftloedotsep}{\cftnodots}
给了我等同于 的结果nopagecolumn
,但字体与目录不匹配。
我无法在文档中找到启发(尽管我相信它就在那里)。有人能提供一些建议吗?
谢谢!
以下是 MWE:
\documentclass[12pt]{book}
% define table of contents style
\usepackage{tocstyle}
\usetocstyle{standard}
\usetocstyle{nopagecolumn}
\settocstylefeature{pagenumberhook}{\itshape~}
%create list-ofexamples's
\usepackage{tocloft}
\newcommand{\listloename}{Examples}
\newlistof{loe}{loe}{\listloename}
\renewcommand{\cftloedotsep}{\cftnodots} %this and the next 3 lines mimic
\renewcommand{\cftloeafterpnum}{\cftparfillskip} % nopagecolumn, but
\renewcommand{\cftloeleader}{\hspace*{.75cm}} % do not fully
\renewcommand{\cftpnumalign}{l} % reproduce it
\begin{document}
\tableofcontents
\listofloe
\newpage
\chapter{First Chapter}
\section{First Section}
\subsection{First part of the first section}
\addcontentsline{loe}{loe}{Example One}
\subsection{Second part of the first section}
\ldots
\addcontentsline{loe}{loe}{A 2nd Example}
\section{Second Section}
\subsection{First part of the second section}
\ldots
\end{document}
请注意,如果我以通常的方式添加附录,它们将以与 MWE 中的章节相同的字体列在目录中。但不是 loe 的。
答案1
这里有一个建议,使用tocbasic
属于 KOMA-Script 包的包。据我所知,它应该取代tocstyle
同一作者的包。请注意,tocbasic
需要 /KOMA-Script 版本 3.21 或更新版本。
代码:
\documentclass[12pt]{book}
\usepackage{tocbasic}[2016/06/14]% needs KOMA version 3.21 or newer
\DeclareTOCStyleEntry[
linefill=\quad,
raggedpagenumber,
pagenumberformat=\bfseries\textit
]{tocline}{chapter}
\DeclareTOCStyleEntry[
linefill=\quad,
raggedpagenumber,
pagenumberformat=\textit
]{tocline}{section}
\DeclareTOCStyleEntry[
linefill=\quad,
raggedpagenumber,
pagenumberformat=\textit
]{tocline}{subsection}
\DeclareNewTOC[
listname=Examples,
tocentrystyle=tocline,
tocentrynumwidth=2.3em,% same as for figures and tables
tocentryindent=1.5em,% same as for figures and tables
tocentrylinefill=\quad,
tocentryraggedpagenumber,
tocentrypagenumberformat=\textit
]{loe}
% only if \listofloes should really not start on a new page
\BeforeTOCHead[loe]{\renewcommand\clearpage{}}
\begin{document}
\tableofcontents
\listofloes
\chapter{First Chapter}
\section{First Section}
\subsection{First part of the first section}
\addxcontentsline{loe}{loe}{Example One}
\subsection{Second part of the first section}
\ldots
\addxcontentsline{loe}{loe}{A 2nd Example}
\section{Second Section}
\subsection{First part of the second section}
\ldots
\end{document}
结果: