我试图在双栏文章的标题中引用左标记(最后定义的标题)。但引用始终指向右标记(最后定义的标题)。我已包含 latex 错误修复程序包 ( \usepackage{fixltx2e}
),但这对解决问题没有帮助。
我到处寻找可以解决我的问题的旧答案,所以我希望有人知道答案。
\documentclass[twocolumn]{article}
\usepackage{fixltx2e}
\usepackage{fancyhdr}
\usepackage{lastpage}
% HEADER AND FOOTERS %
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO,RE]{\small\bfseries\leftmark}
\fancyfoot[RO,RE]{\bfseries \thepage / \pageref{LastPage}}
\fancyfoot[RO,RE]{\bfseries \thepage / \pageref{LastPage}}
\renewcommand{\headrulewidth}{0.02pt}
\renewcommand{\footrulewidth}{0pt}
\rhead{\nouppercase{\leftmark}}
%
\newlength\FHleft \setlength\FHleft{13cm}
\newlength\FHright \setlength\FHright{0cm}
\newbox\FHline
\setbox\FHline=\hbox{\hsize=\paperwidth
\hspace*{\FHleft}
\rule{\dimexpr\headwidth-\FHleft-\FHright\relax}{\headrulewidth}\hspace*{\FHright}}
\renewcommand\headrule{\vskip-.7\baselineskip\copy\FHline}
\fancypagestyle{plain}{%
\fancyhf{} %
\fancyfoot[R]{\bfseries \thepage / \pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\usepackage{lipsum}
\begin{document}
\section{Test1}
\lipsum[1-8]
\section{Test2}
\lipsum[6]
\section{Test3}
\lipsum[7]
\section{Test4}
\lipsum[8]
\section{Test5}
\lipsum[9]
\end{document}
我希望我第一次就做对了:)
答案1
如果您希望在页眉中显示页面的第一节标题,则有两种可能性。 (1)如果您不需要在页眉或页脚中使用子节标题,则可以使用
\renewcommand\sectionmark[1]{\markboth{#1}{#1}}
\renewcommand\subsectionmark[1]{}
然后使用\rightmark
而不是\leftmark
。
第二种可能性是,使用以下方法可以使子部分标题仍然可用:
\usepackage{extramarks}
然后使用\firstleftmark
而不是\leftmark
。但是,这有时可能会在标题中保留上一页的最后一个部分标题(实际上这将是页面第一个文本的部分标题,它仍然属于上一页的最后一部分)。如果该页面上的第一部分之前有一个子部分,就会发生这种情况。