我尝试使用 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
因为该参数与段落计数器没有任何关系。
要完成您需要做的事情,您需要做以下事情:
titlesec
使用选项加载[pagestyles]
而不是直接加载(如果您也使用,titleps
这是正确的加载方式)。titleps
titlesec
- 使用以下方式启用段落级别的标题标记
\settitlemarks{...}
- 在页脚定义中使用
\paragraphtitle
。这是因为 的参数\paragraph
是其标题:即使你在那里放了数字,除非你使用计数器,否则 TeX 也无法知道它是一个数字。由于你想要任意数字,所以你需要使用\paragraphtitle
not\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}