答案1
使用 可能更容易\rule
,因为\hrule
是 TeX 原语,因此处理起来有点棘手。使用\rule
,您可以执行以下操作:
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand\footrule{\hfill\rule{0.2\textwidth}{\footrulewidth}\hfill\null}
\begin{document}
Foo
\end{document}
根据页码是偶数还是奇数进行不同的调整,您可以执行以下操作:
\documentclass[twoside]{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot{}
\fancyfoot[LE,RO]{\thepage}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand\footrule{%
\ifodd\value{page}%
\hfill\rule{0.2\textwidth}{\footrulewidth}%
\else%
\rule{0.2\textwidth}{\footrulewidth}\hfill%
\fi%
}
\begin{document}
Foo
\newpage
Bar
\end{document}
如果你仍然想坚持\hrule
,你可以这样做:
\documentclass[twoside]{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot{}
\fancyfoot[LE,RO]{\thepage}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand\footrule{%
\ifodd\value{page}%
\moveright0.8\textwidth\vbox{\hrule width0.2\textwidth}%
\else%
\hrule width0.2\textwidth%
\fi%
}
\begin{document}
Foo
\newpage
Bar
\end{document}
(输出与上面相同。)
答案2
\renewcommand{\footrulewidth}{\headrulewidth}
\renewcommand\footrule{\makebox[\textwidth]{\ifodd\value{page}\hfill\fi\rule{0.2\textwidth}{\footrulewidth}\ifodd\value{page}\else\hfill\fi}}