混合 Tufte 和 ETOC

混合 Tufte 和 ETOC

对于一本书,我想利用 Tufte 布局/模板来实现与《生物化学原理》一书类似的外观和感觉(见图片邮政信箱1)。文档类“tufte-book”看起来与该书的外观和感觉大致相似,但我在使目录看起来像这样时遇到了一些麻烦邮政信箱2使用 tufte-book 时。下面的 MWE 与“book”和“scrbook”配合得很好,但 tufte-book 似乎完全搞砸了 TOC 设计。我使用“etoc”,因为与其他选择相比,它(相当)简单。

\documentclass{book}
%\documentclass{tufte-book}


\usepackage[english]{babel}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{geometry}
\usepackage{etoc}

\definecolor{DeepOcean}{RGB}{25, 107, 173}


\renewcommand{\thesubsection}{\Alph{subsection}}

\begin{document}


\begingroup  % we start a group to keep the style changes local
  \newlength{\tocleftmargin}    \setlength{\tocleftmargin}{4cm}
  \newlength{\tocrightmargin}   \setlength{\tocrightmargin}{1cm}
  \newlength{\tocmargin}        \setlength{\tocmargin}{1cm}


     \etocsetstyle{chapter}
                {\nobreak}
                {\pagebreak[2]
                 \noindent
                 \large\bfseries\sffamily
                 \vskip0.8\baselineskip}
                {\noindent
                 \color{DeepOcean}
                 \llap{\makebox[\tocmargin][l]{\etocnumber}} 
                 \etocname{}
                 \nobreak
                 \hspace{0.5em}
                 {\color{black}\bfseries\footnotesize\etocpage}
                 \vskip3pt\par}
                {}


    \etocsetstyle{section}
                {}
                {\noindent
                 \normalsize\mdseries\sffamily }
                {\noindent
                 \color{black}
                 \llap{\makebox[\tocmargin][l]{\etocnumber}}
                 \etocname
                 \nobreak
                 \hspace{0.5em}
                 {\color{black}\bfseries\footnotesize\etocpage}
                 \par}
                {}


    \etocsetstyle{subsection}
                {}
                {\noindent
                 \normalsize\mdseries\sffamily}
                {\noindent\hspace{0em}
                 \color{black}
                 \etocnumber{}.\hspace{0.1em}
                 \etocname
                 \nobreak
                 \hspace{0.5em}
                 {\color{black}\bfseries\footnotesize\etocpage}
                 \par}
                {}  


  \def\tmptitle{Contents}
  \etocsettocstyle{\color{DeepOcean}
    \noindent\huge{\tmptitle}\vskip10pt
    \hrule height 1pt\hfill \vskip3pt
    \leftskip\tocleftmargin
    \par}{\bigskip}
  \tableofcontents 
\endgroup    


\fontfamily{ptm}\selectfont

\chapter{Introduction}
\lipsum[11]

\section{Sec 1}
\lipsum[2]

\section{Sec 2}
\lipsum[8]

\section{Sec 3}
\lipsum[7]
%
\subsection{SS1}
\lipsum[8]

\subsection{SS2}
\lipsum[9]

\subsection{SS3}
\lipsum[10]



\chapter{Second Chap}
\lipsum[6]

\section{Sec 1}
\lipsum[1]

\section{Sec 2}
\lipsum[3]



\chapter{Third Chap}
\lipsum[9]

\section{Sec 1}
\lipsum[1]


\end{document}

我想需要采取一些措施来强制 tufte-book 类屈服?

顺便说一句,我不需要本质上使用该文档类。边注的边距可以通过“几何”实现(我知道的就这么多),所以如果有解决方案可以创建带有图像和彩色框和表格的漂亮边注,我想 scrbook 和 book 也可以。

提前谢谢了。

答案1

主要有三个问题:

  • 由于某种原因,tocdepth 值只允许章节通过,

  • tufte-book 的章节和节数没有编号,而你定义的目录行样式与编号的章节和节数搭配起来看起来不错,

  • 字体不同,字体大小可能需要根据 TOC 渲染进行一些调整。

tufte-book但两者之间似乎不存在内在的不兼容性etoc

唯一的修改是添加以下内容,结果如下:

\etocsetnexttocdepth{subsection}

之前\tableofcontents

在此处输入图片描述

这是书籍类别(我还添加了 hyperref)。

在此处输入图片描述

主要区别在于切片单元是经过编号的。

相关内容