下面的代码为奇数页产生了正确的间距,但为偶数页产生了错误的间距。
正确的间距:
错误的间距:
当我尝试从视觉上区分这两个声明时,我发现了三个不同之处:
- 我宣布用左脚而不是右脚踢球。
- 我声明页脚位于偶数页而不是奇数页。
mark
我的声明顺序是相反的:我在第一个声明中以 开始,然后\rlap
紧接着它。当我发出\llap
并跟在 后面时,会产生错误的间距mark
。
我可以在不发出的情况下产生正确的间距\llap
,但我真的很想在那里显示我的页码。
如何去除\fancyfoot[LE]
声明产生的多余空间?/如何在偶数页上产生正确的间距,与奇数页上的间距完全相同?
代码:
\documentclass[twoside]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{fancyhdr}
\newlength\titleindent
\setlength\titleindent{.25in}
\pagestyle{fancy}
\fancyhf{}
%\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
%\renewcommand{\subsectionmark}[1]{\markright{#1}}
\fancyfoot[RO]{%
\leftmark\strut\rlap{\hskip\titleindent\parbox{\titleindent}{\color{blue}\thepage\strut}}%
}%
\fancyfoot[LE]{%
\llap{\parbox{\titleindent}{\color{blue}\thepage\strut}}\leftmark\strut%
}%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{.4pt}
\begin{document}
\section{Section}
\lipsum\lipsum
\end{document}
答案1
正如 egreg 所说他的回答\makebox
,这里也用。
\documentclass[twoside]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{fancyhdr}
\newlength\titleindent
\setlength\titleindent{.25in}
\pagestyle{fancy}
\fancyhf{}
%\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
%\renewcommand{\subsectionmark}[1]{\markright{#1}}
\fancyfoot[RO]{%
\leftmark\strut\makebox[0pt][l]{\hspace{\titleindent}\color{blue}\thepage\strut}%
}%
\fancyfoot[LE]{%
\makebox[0pt][r]{\color{blue}\thesection\hspace{\titleindent}}\leftmark\strut%
}%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{.4pt}
\begin{document}
\section{Section}
\lipsum\lipsum
\end{document}