列出所有页眉的方法

列出所有页眉的方法

如果我可以获得文档中所有页眉的列表(最好按正面和背面(即右手页和左手页)列出),而无需手动浏览输出 PDF,这将很有用。

一些初步想法包括:

  • 暂时使用不同的样式文件来使内容列表以不同的方式显示。
  • 只需从 .tex 中删除所有正文,这样就只剩下章节和小节标题。

我正在寻找以下形式的东西:

Chapter # | Verso           | Recto
1         | chapter 1 title | subsection 1 title
1         | chapter 1 title | subsection 2 title
2         | chapter 2 title | subsection 1 title

对于其他工作,我可能需要某种形式:(我将其包括在内以防它使用类似的解决方案!)

Chapter # | Verso           | Recto
1         | book title      | chapter 1 title
2         | book title      | chapter 2 title

如果这是一个特定于编辑器的问题,那么作为参考,我使用 Texmaker。

答案1

我不确定我是否理解了您想要做什么。但我认为解决方案取决于页眉和页脚使用的类和包。

也许您可以使用包scrwfile在新列表中克隆目录并tocbasic格式化这个新列表中的条目。

例子:

\documentclass{book}
\usepackage{scrwfile}
\TOCclone[Running heads]{toc}{lorh}
\AtEndDocument{\listoflorh}

\usepackage{tocbasic}
\makeatletter
\AfterTOCHead[lorh]{
  \let\MakeUppercase\relax
  \value{tocdepth}=0
  \pagestyle{plain}
  \DeclareTOCStyleEntry[
    pagenumberbox=\@gobble,
    entryformat=\bfseries\Large
    ]{tocline}{chapter}%
}
\makeatother
\DeclareTOCStyleEntry[
  indent=0pt,
  beforeskip=3pt,
  level=0,
  numwidth=0pt
]{tocline}{rhverso}
\DeclareTOCStyleEntry[
  indent=5.5cm,
  beforeskip=3pt,
  level=0,
  numwidth=0pt
]{tocline}{rhrecto}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{}
\renewcommand{\subsectionmark}[1]{\markright{\thesubsection. \MakeUppercase{#1}}}
\fancyhead{}
\fancyhead[LE]{\leftmark\addcontentsline{lorh}{rhverso}{\parbox[b]{5cm}{\protect\raggedright\leftmark}}}
\fancyhead[RO]{\rightmark\addcontentsline{lorh}{rhrecto}{\parbox[b]{5cm}{\protect\raggedright\rightmark}}}

\usepackage{blindtext}% only for dummy text
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\end{document}

在此处输入图片描述

或者scrlayer-scrpage改为fancyhdr

\documentclass{book}
\usepackage{scrwfile}
\TOCclone[Running heads]{toc}{lorh}
\AtEndDocument{\listoflorh}

\usepackage{tocbasic}
\makeatletter
\AfterTOCHead[lorh]{
  \let\MakeUppercase\relax
  \value{tocdepth}=0
  \DeclareTOCStyleEntry[
    pagenumberbox=\@gobble,
    entryformat=\bfseries\Large
    ]{tocline}{chapter}%
}
\makeatother

\DeclareTOCStyleEntry[
  indent=0pt,
  beforeskip=5pt,
  level=0,
  numwidth=0pt
]{tocline}{rhverso}
\DeclareTOCStyleEntry[
  indent=5.5cm,
  beforeskip=5pt,
  level=0,
  numwidth=0pt
]{tocline}{rhrecto}


\usepackage{scrlayer-scrpage}
\automark[subsection]{chapter}
\ihead{%
  \headmark
  \ifodd\value{page}%
    \addcontentsline{lorh}{rhrecto}{\parbox[b]{5cm}{\protect\raggedright\headmark}}%
  \else
    \addcontentsline{lorh}{rhverso}{\parbox[b]{5cm}{\protect\raggedright\headmark}}%
  \fi
}

\usepackage{blindtext}% only for dummy text
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\end{document}

相关内容