在 titleformat 命令的代码后插入 \par

在 titleformat 命令的代码后插入 \par

我想要获得以下输出:

在此处输入图片描述

换句话说:

  1. 插入当前部分的目录(效果很好)
  2. 能够在目录之前添加一些文本(不起作用)

据我了解,部分原因是\par\long是非宏的参数,而且因为我仍然在标签内输入文本。

那么我如何退出标签并在其下方输入我想要的任何文本?

平均能量损失

\documentclass{book}
\usepackage{titlesec,titletoc}
\titleformat{\part}[display]
  {}
  {\centering\huge\bfseries\partname~\thepart}
  {0pt}
  {\centering\huge}
  [Here is the TOC:\par%
  {\normalsize\startcontents[parts]%
  \printcontents[parts]{}{0}[2]{}}
  ]

\begin{document}
\part{Introduction}
\chapter{ch one}
\section{sec one}
\end{document}

答案1

使用\endgraf

\documentclass{book}
\usepackage{titlesec,titletoc}
\titleformat{\part}[display]
  {}
  {\centering\huge\bfseries\partname~\thepart}
  {0pt}
  {\centering\huge}
  [{\normalsize \hspace{-\leftskip}Here is the TOC:\endgraf
    \startcontents[parts]%
    \printcontents[parts]{}{0}[2]{}%
  }]

\begin{document}
\part{Introduction}
\chapter{ch one}
\section{sec one}
\end{document}

目录


从评论移出:

简而言之,我怎么知道(以及你又怎么知道)在这种情况下 endgraf 是所需的宏? – tush

答案:

  • 长期的 TeX 用户;\endgraf是 LaTeX 从 Plain TeX 格式继承而来的,但正如您所发现的,它被 LaTeX 变成了一种非常复杂的东西,但\par在一般文本中它与非常复杂的 LaTeX 相同。
  • 我现在查看了 TeXBook 源代码,例如,你会看到它在The only tricky part about this answer is the use of\/ ^|\endgraf|, which is a substitute for |\par| because |\loop| is not a ^|\long| macro.第 13530-13531 行练习的答案中提到
  • 其他摘录The meaning of\/ |\par| is changed so that it does more than usual: First it does ^|\endgraf|, which is \TeX's ordinary |\par| operation; then it sets...,所以您会看到这个\par/\endgraf业务对于首先学习如何使用 TeX 并且后来只学习使用 LaTeX 的人来说非常熟悉。
  • LaTeX 选择保留它,\endgraf但这并不是 TeX 所要求的:它是 Plain TeX 的构造,其他格式模仿它。

相关内容