我有以下适用于 fancyhead 的代码
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[CE,CO,LE,LO,RE,RO]{} %% clear out all headers
\fancyhead[C]{%
\begin{tabular}{|m{3.0cm}|m{7.5cm}|m{1.7cm}|m{3cm}|}
\hline
\vspace{1mm}
\includegraphics[width=3cm,keepaspectratio=true]{./figures/albatroz_nobackground} &
\centering
\large{\textbf{PJN.2-ASLMS2014}}\\
\vspace{3mm}
\normalsize Albatroz Engenharia S.A. &
\flushright
Form:\\
Project:\\
Revision:\\
Page:\\ &
\flushleft
ABZ.ENG(a)-1\\
PJN.2-ASLMS2014\\
Issue 1 Draft 1\\
\thepage \space of \pageref{LastPage}\\
\tabularnewline
\hline
\end{tabular}%
}
它运行完美,但现在我想添加\hline
或\midrule
划分一些行,例如,表单项目修订等...但总是出错,出现放错位置的错误\noalign
。有人知道哪里出了问题吗?
谢谢
答案1
我不确定这是否是期望的输出。
一些说明:
\flushright
和\flushleft
不能与 一起使用\hline
,至少不能以这种方式使用,并且不应在 中使用tabular
。使用\multicolumn{1}{l}{...}
和\multicolumn{1}{r}{...}
来使单元格内容左对齐或右对齐。booktabs
表格环境中的垂直线做|
看起来很糟糕,因为和水平线之间存在垂直偏移,因此我保留\hline
了\toprule
(或\midrule
或\bottomrule
)- 垂直线在大多数情况下都是不好的,但在更像表格的形式中可以使用它们。
- 第二列太宽了,我减小了宽度
fancyhdr
抱怨头部高度,我增加了它。适当更改值。
这是.tex
文件。
\documentclass[twoside]{article}
\usepackage[tmargin=6cm,headheight=5cm]{geometry}
\usepackage[demo]{graphicx}
\usepackage{array}
%\usepackage{booktabs}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{blindtext}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}%
\fancyhead[C]{%
\begin{tabular}{|m{3.0cm}|m{5.5cm}|m{1.7cm}|m{3cm}|}
\hline
\vspace{1mm}
\includegraphics[width=3cm,keepaspectratio=true]{./figures/albatroz_nobackground} &
\centering
\large{\textbf{PJN.2-ASLMS2014}}\\
\vspace{3mm}
\normalsize Albatroz Engenharia S.A. &
\multicolumn{1}{l|}{Form:} & \multicolumn{1}{r|}{ABZ.ENG(a)-1} \tabularnewline
\hline
& & \multicolumn{1}{l|}{Project:} & \multicolumn{1}{r|}{PJN.2-ASLMS2014} \tabularnewline
\hline
& & \multicolumn{1}{l|}{Revision:}& \multicolumn{1}{r|}{Issue 1 Draft 1}\tabularnewline
\hline
& & \multicolumn{1}{l|}{Page:} & \multicolumn{1}{r|}{\thepage \space of \pageref{LastPage}}\tabularnewline
\hline
\end{tabular}%
}
\begin{document}
\pagestyle{fancy}
\blindtext[20]
\end{document}