带有表格的页眉和页脚。右边距超出页面

带有表格的页眉和页脚。右边距超出页面

我不完全确定这个主题是否重复,但无论如何......我正在编写一些公司报告,这些报告具有包含表格的特殊页眉和页脚布局。我已经能够使用 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}

在此处输入图片描述

您的列宽规范存在两个问题:

  1. 您没有考虑\tabcolsep(内容与列“边框”之间的水平长度)和\fboxrule(规则的粗细)。

  2. 您使用的是绝对长度,因此需要进行大量的反复试验,并且页面布局的简单更改将使您从头开始计算。相反,我使用分数来\textwidth计算宽度;这样,无论您是否更改文本区域的宽度,列宽都会自动适应以跨越整个文本宽度。

我必须改变\headheight和的值\footskip;也许您需要根据图像的实际高度来调整这些值。

选项demo只是graphicx用黑色矩形替换实际图形;不是在实际文档中使用该选项。

相关内容