我正在使用 flowfram 添加拇指食指到我正在写的书的边缘。我想准确指定标签中打印的内容。目前它与目录中显示的内容相同。我希望标签只包含我指定的零件编号或文本。
\usepackage[thumbtabs]{flowfram}
\makethumbtabs{5cm}[part]
\begin{document}
\enablethumbtabs
...
\part{This will appear in first tab}
...
\part[This will appear in second tab]{This will not appear}
我想要显示“第一部分:Foo”和“第二部分:Bar”。有办法指定吗?
如果我使用 \part[] 指定文本,该文本也会出现在目录中。我想在页面、目录中和缩略图中设置不同的文本。
答案1
您可以使用xparse
包来更新\part
,让它接受 3 个参数。我这样做的方式\part(#1)[#2]{#3]
是将 #1 放在选项卡中,将 #2 放在目录中,并使用 #3 作为标题。如果缺少 #1 或 #2,则将使用 #3 作为后备:
\documentclass[a4paper,12pt]{article}
\usepackage{xparse}
\usepackage[thumbtabs]{flowfram}
\makethumbtabs{5cm}[part]
\makeatletter
\RenewDocumentCommand{\part}{d() o m}{%
\IfNoValueTF{#2}{\@ttb@old@part[#3]{#3}}{\@ttb@old@part[#2]{#3}}
\IfNoValueTF{#1}{%
\addtocontents{ttb}{\protect\thumbtab
{\thepage}{\thepart}{#3}{part.\thepage}}}{%
\addtocontents{ttb}{\protect\thumbtab
{\thepage}{\thepart}{#1}{part.\thepage}}}}
\makeatother
\begin{document}
\tableofcontents
\enablethumbtabs
\part(This is the first thumbtab)[This is the first thing in the TOC]{This is the first part heading}
\part(This is the second thumbtab)[This is the second thing in the TOC]{This is the second part heading}
\part{This has no optional args}
\end{document}