我目前正在编写一个乳胶代码生成器来制作发票,但我的标题有问题。我使用花哨的标题来制作标题,并使用编译器的输出来设置标题和文本的高度。我的问题是我的标题在第一页和第二页上的位置不相同。它在第一页上的位置较高,我找不到解决这个问题的任何方法。
以下是代码:
\documentclass[a4paper]{article}
% setting language
\usepackage[frenchb]{babel}
% geometry --> margin ++
\usepackage[includeheadfoot]{geometry}
\geometry{a4paper,margin=1cm}
\usepackage{tabularx}
\usepackage{booktabs}
%\usepackage[absolute,overlay]{textpos}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.4pt}
\newcommand\VRule[1][\arrayrulewidth]{\vrule width #1}
\usepackage{lipsum}
\fancyhead[L]{
\renewcommand{\arraystretch}{1}
\raisebox{0\height}{
\begin{tabular}{p{4.99cm}l}
Left part
&
Right part
\\
\end{tabular}
}}
\fancyhead[R]{ \vtop{\begin{tabular}{l} \textbf{Devis n° 5}\\\textbf{Original}\\Page \end{tabular}}}
\fancyfoot[C]{\textbf{Masidaso Consulting - N° TVA :BE0834757576}\\}
\setlength{\headheight}{64pt}
% début du corps
\begin{document}
\parskip=0pt\parindent=0pt
\renewcommand{\arraystretch}{1.4}
\begin{tabularx}{\linewidth}{!{\VRule[2pt]}X!{\VRule[2pt]}X!{\VRule[2pt]}X!{\VRule[2pt]}} \specialrule{2pt}{0pt}{0pt} Client & Intelocuteur & Page \\ \specialrule{2pt}{0pt}{0pt} 2 - Minou Chat & Mr le vendeur & page \\ \specialrule{2pt}{0pt}{0pt} \end{tabularx}
\lipsum
\lipsum
\renewcommand{\arraystretch}{1}
\end{document}
答案1
问题在于您\arraystretch
在文档中间进行了更改,这反映在标题的排版中。添加\renewcommand{\arraystretch}{1}
使用\fancyhead
表格的字段。但是定义似乎相当复杂;以下代码似乎更简单。
\fancyhead[L]{%
\renewcommand{\arraystretch}{1}%
\raisebox{\dimexpr-\height+\ht\strutbox}{%
\includegraphics[keepaspectratio,width=4.99cm,height=1.23cm]{logo.png}}%
\qquad
\begin{tabular}[t]{l}
\chancery{\textbf{\LARGE Masidaso Consulting}}\\
E-mail : \href{mailto:[email protected]}{[email protected]}\\
Tel : 0486609929\\
ligne \\ ligne \\ ligne \\ ligne \\ ligne
\end{tabular}\hfill
\begin{tabular}[t]{l}
\textbf{Devis n° 5}\\
\textbf{Original}\\
Page \thepage{} / \pageref{LastPage}
\end{tabular}}
对于此标题,fancyhdr
报告高度为 102pt。