使用标题将段落编号添加到页脚

使用标题将段落编号添加到页脚

我尝试使用 titleps 将页面上的第一个段落编号添加到页脚。但是,它只返回一个章节编号,后面跟着 3 个零,如 1.1.0.0.0。

这是我迄今为止的代码:

\documentclass{book}
\usepackage{lipsum}
\setlipsumdefault{1}
\usepackage{titlesec}

\usepackage{titleps}
\newpagestyle{fancy}{
\sethead[][\chaptertitle][] % even
                  {}{\sectiontitle}{} % odd
\setfoot[\thepage][][\theparagraph] % even
                  {\theparagraph}{}{\thepage}} % odd


% back to the MWe
\begin{document}

\null
\pagestyle{empty}

\newpage

\newpage

\pagestyle{fancy}

\chapter{A Chapter}

\section{First Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3-5}\lipsum

\paragraph{6}\lipsum

\paragraph{7-17}\lipsum

\paragraph{18}\lipsum

\paragraph{19-20}\lipsum

\paragraph{21-28}\lipsum

\paragraph{29}\lipsum

\paragraph{30}\lipsum

\section{Second Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3-5}\lipsum

\paragraph{6}\lipsum

\paragraph{7-17}\lipsum

\paragraph{18}\lipsum

\paragraph{19-20}\lipsum

\paragraph{21-28}\lipsum

\paragraph{29}\lipsum

\paragraph{30}\lipsum

\section{Third Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3}\lipsum

\paragraph{4}\lipsum

\paragraph{5}\lipsum

\paragraph{6}\lipsum

\paragraph{7}\lipsum

\paragraph{8}\lipsum

\paragraph{9}\lipsum

\paragraph{10}\lipsum

\paragraph{11}\lipsum

\paragraph{12}\lipsum

\paragraph{13}\lipsum

\paragraph{14}\lipsum

\paragraph{15}\lipsum

\paragraph{16}\lipsum

\paragraph{17}\lipsum

\paragraph{18}\lipsum

\paragraph{19}\lipsum

\paragraph{20}\lipsum

\end{document}

答案1

您之所以得到这样的结果,是因为\theparagraph被定义为\thesubsubsection.\arabic{paragraph},这会产生很多点和零,因为您没有设置节计数器深度。但是,如果您希望通过 参数对段落进行编号,那么设置它无论如何也无法解决您的问题,\paragraph因为该参数与段落计数器没有任何关系。

要完成您需要做的事情,您需要做以下事情:

  1. titlesec使用选项加载[pagestyles]而不是直接加载(如果您也使用,titleps这是正确的加载方式)。titlepstitlesec
  2. 使用以下方式启用段落级别的标题标记\settitlemarks{...}
  3. 在页脚定义中使用\paragraphtitle。这是因为 的参数\paragraph是其标题:即使你在那里放了数字,除非你使用计数器,否则 TeX 也无法知道它是一个数字。由于你想要任意数字,所以你需要使用\paragraphtitlenot \theparagraph

根据评论更新

如果您希望段落编号仅出现在页脚中,而不出现在文本本身中,那么您可以\paragraph使用以下命令重新定义格式titlesec

\makeatletter
\titleformat{\paragraph}[runin]{\@gobble}{}{}{}
\titlespacing*{\paragraph}{0pt}{\parskip}{0pt}
\makeatother

代码如下:

\documentclass{book}
\usepackage{lipsum}
\setlipsumdefault{1}
\usepackage[pagestyles]{titlesec}
\newpagestyle{fancy}{
\sethead[][\chaptertitle][] % even
                  {}{\sectiontitle}{} % odd
\setfoot[\thepage][][\paragraphtitle] % even
                  {\paragraphtitle}{}{\thepage}} % odd

\settitlemarks{chapter,section,subsection,paragraph}

\makeatletter
\titleformat{\paragraph}[runin]{\@gobble}{}{}{}
\titlespacing*{\paragraph}{0pt}{\parskip}{0pt}
\makeatother
% back to the MWe
\begin{document}

\null
\pagestyle{empty}

\newpage

\newpage

\pagestyle{fancy}

\chapter{A Chapter}

\section{First Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3-5}\lipsum

\paragraph{6}\lipsum

\paragraph{7-17}\lipsum

\paragraph{18}\lipsum

\paragraph{19-20}\lipsum

\paragraph{21-28}\lipsum

\paragraph{29}\lipsum

\paragraph{30}\lipsum

\section{Second Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3-5}\lipsum

\paragraph{6}\lipsum

\paragraph{7-17}\lipsum

\paragraph{18}\lipsum

\paragraph{19-20}\lipsum

\paragraph{21-28}\lipsum

\paragraph{29}\lipsum

\paragraph{30}\lipsum

\section{Third Section}

\paragraph{1}\lipsum

\paragraph{2}\lipsum

\paragraph{3}\lipsum

\paragraph{4}\lipsum

\paragraph{5}\lipsum

\paragraph{6}\lipsum

\paragraph{7}\lipsum

\paragraph{8}\lipsum

\paragraph{9}\lipsum

\paragraph{10}\lipsum

\paragraph{11}\lipsum

\paragraph{12}\lipsum

\paragraph{13}\lipsum

\paragraph{14}\lipsum

\paragraph{15}\lipsum

\paragraph{16}\lipsum

\paragraph{17}\lipsum

\paragraph{18}\lipsum

\paragraph{19}\lipsum

\paragraph{20}\lipsum

\end{document}

相关内容