如何自定义LATEX中包{tocloft}生成的目录的字体大小

时间:2017-12-02 04:35:21

标签: latex

我正在使用文档类“report”和package {tocloft}。我在更改由“\ tableofcontents”生成的目录上的部分,章节,子部分的字体大小时遇到​​问题。实际上它正在考虑报告中存在的内容大小,但我想改变目录页面的字体大小。

\documentclass{report}

\usepackage{tocloft,lipsum,pgffor}

\setcounter{tocdepth}{3}% Include up to \subsubsection in ToC

\renewcommand{\cftpartfont}{\normalfont\sffamily\bfseries}% \part font in ToC
\renewcommand{\cftchapfont}{\normalfont\large\itshape}    % \chapter font in ToC
\renewcommand{\cftsecfont}{\normalfont\slshape}           % \section font in ToC
\renewcommand{\cftsubsecfont}{\normalfont\itshape}        % \subsection font in ToC
\renewcommand{\cftsubsubsecfont}{\normalfont\small}       % \subsubsection font in ToC

\begin{document}

\tableofcontents% ToC

% Create a dummy document with multiple (5) levels of sectional units
\foreach \curpart in {\Huge First, Second, Third, Last} {
  \part{\curpart{} part}
  \foreach \curchap in {\huge First, Second, Third, Last} {
    \chapter{\curchap{} chapter} \lipsum[1]
    \foreach \cursec in {\LARGE First, Second, Third, Last} {
      \section{\cursec{} section}\lipsum[2]
      \foreach \cursubsec in {First, Second, Third, Last} {
        \subsection{\cursubsec{} subsection}\lipsum[3]
        \foreach \cursubsubsec in {First, Second, Third, Last} {
          \subsubsection{\cursubsubsec{} subsubsection}\lipsum[4]
        }% \subsubsection
      }% \subsection
    }% \section
  }% \chapter
}% \part

\end{document}

我在虚拟文档的部分标题中添加了\ huge和\ LARGE。

\foreach \curchap in {\huge First, Second, Third, Last} {
    \chapter{\curchap{} chapter} \lipsum[1]
    \foreach \cursec in {\LARGE First, Second, Third, Last} {

这样做也反映了TOC页面中该部分标题的大小变化。 Before adding \huge and \LARGE inside the section heading

After

我想让TOC页面中的章节和章节标题的字体大小独立于文档中的内容。

1 个答案:

答案 0 :(得分:1)

您应该避免在分区单元标题中使用字体更改,因为它们默认进入ToC。对于字体的奇怪更改,我建议使用

\section[<ToC entry>]{<document entry>}

您可以在<document entry>内指定所需内容,但不保留任何字体更改<ToC entry>。有关为部分单位设置字体的更全面的方法,请使用一个包,它分别为<ToC entry><document entry>的字体设置提供挂钩。

使用sectstytitlesec可以轻松进行

<document entry>字体更改,而<ToC entry>更改通常使用toclofttitletoc进行更改。具体到sectsty,为部门单位\Xfont重新定义X。例如,

\renewcommand{\partfont}{\normalfont\Huge\bfseries}

仅影响<document content>的{​​{1}},保持\part不受影响(并且不进行字体更改)。

对于ToC中的每个分段单元<ToC entry>X提供tocloft \cftZfont表示tocloft documentation,{strong> 2.3排版条目):

  • X part个标题
  • \part chap个标题
  • \chapter sec个标题
  • \section subsec个标题
  • \subsection subsubsec个标题
  • \subsubsection para个标题
  • \paragraph subpara个标题
  • \subparagraph用于图fig个标题
  • \caption用于子图subfig标题
  • \captiontab个标题
  • \caption用于子表subtab个标题

以下是如何更改与不同分区单位相关的各种组件的示例:

enter image description here

\caption