我不完全确定这个主题是否重复,但无论如何......我正在编写一些公司报告,这些报告具有包含表格的特殊页眉和页脚布局。我已经能够使用 fancyhdr 配置布局,但表格超出了页面范围。下面我提供了所需布局和获得的布局的图像,以及我正在使用的代码。
所需布局 - 标题
所需布局 - 页脚
结果 - 标题
结果 - 页脚
如您所见,页脚上方的文本与表格线重叠。
最后,代码:
\documentclass[letterpaper,10pt,openany]{report}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage[spanish]{babel}
\usepackage{graphicx}
\usepackage{float}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[paperwidth=21cm, paperheight=28.8cm, top=3.55cm, left=2.03cm, bottom=7.28cm, right=1.27cm]{geometry}
% Title Page
\title{}
\author{}
\setlength{\headheight}{127.69005pt}
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
\setlength{\footskip}{0pt}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[CE,CO,LE,LO,RE,RO]{} %% clear out all headers
\fancyhead[C]{%
\begin{tabular}{|m{3.6375cm}|m{5.3475cm}|m{7.0275cm}|m{1.6875cm}|}
\hline
\multicolumn{4}{|m{17.66cm}|}{\centering \vspace{1.5\baselineskip}\includegraphics[width=3cm]{LOGO.png}} \\[1.23cm] \hline
Cliente: & REF. & \centering Lugar: Por definir & Hoja: \\[0.77cm] \hline
\multicolumn{3}{|m{16.10cm}|}{\centering \vspace{1.5\baselineskip} Titulo} & \multicolumn{1}{m{1.6cm}|}{Total:} \\[0.82cm] \hline
\end{tabular}%
}
\fancyfoot[CE,CO,LE,LO,RE,RO]{} %% clear out all footers
\fancyfoot[C]{%
\begin{tabular}{|m{5.67cm}|m{5.75cm}|m{5.1cm}|m{1.52cm}|}
\hline
& Preparado por: & Fecha: & Ver. \\[0.96cm] \hline
\end{tabular}%
}
\begin{document}
我到底做错了什么?提前致谢!
查理
答案1
请看一下(解释如下):
\documentclass[letterpaper,10pt,openany]{report}
\usepackage[paperwidth=21cm, paperheight=28.8cm, top=3.55cm, left=2.03cm, bottom=7.28cm, right=1.27cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage[spanish]{babel}
\usepackage[demo]{graphicx}
\usepackage{float}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\setlength{\headheight}{141pt}
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
\setlength{\footskip}{22.58pt}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhf{} %% clear out all headers and footers
\fancyhead[C]{%
\begin{tabular}{
|m{\dimexpr.22\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.28\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.3\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.2\textwidth-2\tabcolsep-1.25\fboxrule\relax}|
}
\hline
\multicolumn{4}{|m{\dimexpr\textwidth-2\tabcolsep-2\fboxrule\relax}|}{%
\centering\rule[-0.3cm]{0pt}{1cm}\raisebox{-\height}{%
\includegraphics[width=3cm,height=0.7cm]{LOGO.png}}}
\\[1.23cm]
\hline
Cliente: & REF. & \centering Lugar: Por definir & Hoja:
\\[0.77cm]
\hline
\multicolumn{3}{
|m{\dimexpr.3\textwidth-2\tabcolsep-1.5\fboxrule\relax}|}{\centering \vspace{1.5\baselineskip} Titulo}
& \multicolumn{1}{m{\dimexpr.2\textwidth-2\tabcolsep-1.5\fboxrule\relax}|}{Total:}
\\[0.82cm] \hline
\end{tabular}%
}
\fancyfoot[C]{%
\begin{tabular}{
|m{\dimexpr.3\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.3\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.3\textwidth-2\tabcolsep-1.25\fboxrule\relax}
|m{\dimexpr.1\textwidth-2\tabcolsep-1.25\fboxrule\relax}|
}
\hline
& Preparado por: & Fecha: & Ver. \\[0.96cm] \hline
\end{tabular}%
}
\begin{document}
text
\end{document}
您的列宽规范存在两个问题:
您没有考虑
\tabcolsep
(内容与列“边框”之间的水平长度)和\fboxrule
(规则的粗细)。您使用的是绝对长度,因此需要进行大量的反复试验,并且页面布局的简单更改将使您从头开始计算。相反,我使用分数来
\textwidth
计算宽度;这样,无论您是否更改文本区域的宽度,列宽都会自动适应以跨越整个文本宽度。
我必须改变\headheight
和的值\footskip
;也许您需要根据图像的实际高度来调整这些值。
选项demo
只是graphicx
用黑色矩形替换实际图形;不是在实际文档中使用该选项。