我想要获得以下输出:
换句话说:
- 插入当前部分的目录(效果很好)
- 能够在目录之前添加一些文本(不起作用)
据我了解,部分原因是\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 的构造,其他格式模仿它。