我对 M$ Word 的行为感到厌烦,并根据花哨炫目的 Word 模板编写研究报告模板。我正在使用fancyhdr
包来调整页眉和页脚。
问题是,页脚中有一张由 3 个徽标组成的宽图像(我们称之为支付栏),其左侧是实验室地址,右侧是识别号。
我试过了
\fancyfoot[C]{%
\begin{tabular}{lr}
\multicolumn{2}{c}{\includegraphics[height=10mm]{paybar}}\\
Lab Name&ID 1\\
Lab Affiliation&ID 2\\
Adress&Page \thepage/\pages
\end{tabular}}
但是桌子很窄,因为它要给 留出空间\fancyfoot[RL]{stuff}
。
我又怎么能
- 将三个字段合并为一个,或
- 告诉
fancyhdr
忽略左右字段,或者 - 将左右字段的宽度设置为
0mm
?
答案1
以下是代码fancyhdr.sty
设置标题:
\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
\@fancyvbox\headheight{\hbox
{\rlap{\parbox[b]{\headwidth}{\raggedright#2}}\hfill
\parbox[b]{\headwidth}{\centering#3}\hfill
\llap{\parbox[b]{\headwidth}{\raggedleft#4}}}\headrule}}#5}
一般而言重叠通过在零宽度par
图形中设置左/右标题box
(左/右对齐,使用\rlap
/ \llap
)来设置左/中/右标题。页脚以分析方式创建:
\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
\@fancyvbox\footskip{\footrule
\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2}}\hfill
\parbox[t]{\headwidth}{\centering#3}\hfill
\llap{\parbox[t]{\headwidth}{\raggedleft#4}}}}}#5}
因此从技术上讲,您可以仅使用输入的页眉/页脚来表示看起来像左/右页眉C
/页脚的内容,只要您使中心元素与文本块一样宽即可。
\documentclass{article}
\usepackage{fancyhdr,graphicx,lipsum}
\pagestyle{fancy}
\fancyfoot[C]{%
\setlength{\tabcolsep}{0pt}%
\begin{tabular}{ l | r }
\multicolumn{2}{c}{\includegraphics[height=10mm,width=\textwidth]{example-image}} \\
Lab Name & ID 1 \\
Lab Affiliation & ID 2
\end{tabular}}
\setlength{\footskip}{32pt}% ...because fancyhdr suggested at least 30.5255pt
\begin{document}
\lipsum
\end{document}
由于内容过宽,第二列根据需要延伸\multicolumn
,从而使r
右列位于文本块的末尾。