使用 \tableofcontents 时,titleps 标记的标题会中断

使用 \tableofcontents 时,titleps 标记的标题会中断

我在上一个问题中问过有关在标题中标记章节/节的问题,并从@Werner 和 @cfr 那里得到了非常有用的反馈。当我实施他们的建议时,我发现了另一个问题,但我认为寻求解决方案值得提出另一个问题。

我是这个网站的新手,所以如果我应该把它保留在他们的答案的评论中,请原谅我。

我试图添加标记\thechapter\thesection,其中\thesection始终是第一的新的页面标记甚至页面,以及最后的在奇数页上标记页面。这在示例代码中效果很好,但当我将其应用到实际文档时,它失败了。

在阅读日志并进行修改后,我发现每当我\tableofcontents在文档中使用时都会发生这种情况。当我删除\tableofcontents它时,它可以正常工作。当我使用时,随机章节的第一页根本不会显示任何章节标记,只有标题行\tableofcontents

以下是示例代码(注释/取消注释该\tableofcontents行,您就会明白我的意思):

\documentclass[twoside,openany]{book}
\usepackage{lipsum}
\usepackage[pagestyles]{titlesec} %i usepackage the package this way instead of {titleps} because I use both titleps and titlesec in the actual document, and the manual says i need to include titleps this way if I use both.

\renewpagestyle{plain}{
    \sethead[\firsttitlemarks\bfseries\ifnum\value{section}=0 \thechapter\else\thesection\fi][][]% even-left | even-center | even-right
    {}{}{\bottitlemarks\bfseries\ifnum\value{section}=0 \thechapter\else\thesection\fi}% odd-left | odd-center | odd-right
    \setfoot[\thepage][][]% even-left | even-center | even-right
    {}{}{\thepage}% odd-left | odd-center | odd-right
    \setheadrule{0.4pt}
}
\pagestyle{plain}

\begin{document}

\tableofcontents

\chapter{Header Test CH1}
    \section{Sec1}
    \lipsum[1]
    \section{Sec2}
    \lipsum[3-4]
    \section{Sec3}
    \lipsum[5]
    \section{Sec4}
    \lipsum[7]
\chapter{Header Test CH2}
    \section{Sec1}
    \lipsum[2]
    \section{Sec2}
    \lipsum[6]
    \section{Sec3}
    \lipsum[8-9]
    \section{Sec4}
    \lipsum[10]
\chapter{Header Test CH3}
\lipsum[1-4]
\chapter{Header Test CH4}
    \section{Sec1}
    \lipsum[2]
    \section{Sec2}
    \lipsum[6]
    \section{Sec3}
    \lipsum[8-9]
    \section{Sec4}
    \lipsum[10]
\chapter{Header Test CH5}
    \section{Sec1}
    \lipsum[10]
    \lipsum[1-4]
    \lipsum[1-4]
    \lipsum[1-4]
    \lipsum[1-4]
\chapter{Header Test CH6}
    \section{Sec2}
    \lipsum[2]
    \section{Sec3}
    \lipsum[6]
    \section{Sec4}
    \lipsum[8-9]
    \section{Sec5}
    \lipsum[10]
\end{document}

这是一个已知问题,有解决方法吗?我使用该软件包有什么问题吗?有办法解决这个问题吗?

在实际文档中,我在\tableofcontents调用的行上也遇到了“未定义控制序列”错误。当我注释掉 titleps 行并用 fancyhdr 行替换它们时,此错误消失。这可能是另一篇文章的问题,但我想我现在就在这里说出来,以防万一有明显的原因。

答案1

看看我的编辑答案对于你的另一个问题:

\documentclass[twoside,openany]{book}
\usepackage{lipsum}
\usepackage[pagestyles]{titlesec}
\renewpagestyle{plain}{
  \sethead[\firsttitlemarks\bfseries\ifthesection{\thesection}{\ifthechapter{\thechapter}{\chaptertitle}}][][]% even-left | even-center | even-right
  {}{}{\bottitlemarks\bfseries\ifthesection{\thesection}{\ifthechapter{\thechapter}{\chaptertitle}}}% odd-left | odd-center | odd-right
  \setfoot[\thepage][][]% even-left | even-center | even-right
  {}{}{\thepage}% odd-left | odd-center | odd-right
  \setheadrule{0.4pt}
}
\pagestyle{plain}

\begin{document}

  \tableofcontents

  \chapter{Header Test}
  \section{Sec1}
  \lipsum[1]
  \section{Sec2}
  \lipsum[3-4]
  \section{Sec3}
  \lipsum[5]
  \section{Sec4}
  \lipsum[7]
  \chapter{New Chapter}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
  \chapter{GAH}
  \lipsum[1-4]
  \chapter{New Chapter AAAA}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
  \chapter{GAH1}
  \section{Sec8}
  \lipsum[10]
  \lipsum[1-4]
  \lipsum[1-4]
  \lipsum[1-4]
  \lipsum[1-4]
  \chapter{New CHAPTER AAAAA}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
\end{document}

相关内容