用户定义列表的 tocstyle 样式设置

用户定义列表的 tocstyle 样式设置

我正在使用toclofttocstyle使用设置标准和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}

结果:

相关内容