XeLaTeX 和 pdfLaTex 中的纸张大小

XeLaTeX 和 pdfLaTex 中的纸张大小

我之前使用的是 pdfLaTeX,我设置了 A4 纸张的大小;但出于某些原因,我不得不改用 XeLaTeX。我发现它与纸张的大小不一样,因为页眉和页脚不在正确的位置。你能解释一下或帮我修复它吗?

我的代码是:

\documentclass[10pt, a4paper]{article}

\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{lipsum}
\usepackage[ampersand]{easylist}

\usepackage{tikz}

\setlength{\hoffset}{.46cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\evensidemargin}{0cm}
\setlength{\marginparwidth}{0cm}
\setlength{\topmargin}{0cm}
\setlength{\marginparsep}{0cm}
\setlength{\headheight}{.46cm}
\setlength{\headsep}{0cm}
\setlength{\textheight}{24.2cm}
\setlength{\footskip}{.96cm}
\setlength{\textwidth}{15cm}

\usepackage{fancyhdr}
\pagestyle{fancy}
 \lhead{}%
 \chead{}%Vac
 \rhead{
 \parbox[c]{12.6cm}{\footnotesize{TEXT\newline Text}}\parbox[t]{2cm}{\footnotesize{Text}}
 }
 \lfoot{}%
 \cfoot{}
 \rfoot{
 \parbox[c]{7.35cm}{\footnotesize{Text \newline Text}}\parbox[c]{5.4cm}    {\footnotesize{\thepage}}\parbox[t]{4cm}{\footnotesize{Text}}
 }
 \renewcommand{\headrulewidth}{0.4pt}
 \renewcommand{\footrulewidth}{0.4pt}

\begin{document}

\begin{titlepage}

\begin{center}

\begin{huge} \textbf{TEXT}\end{huge}\\
\vspace*{.4cm}
\begin{Large} \textbf{TEXT}\end{Large}\\
\vspace*{.4cm}
\begin{LARGE} \textbf{TEXT}\end{LARGE}\\
\vspace*{1.5cm}


\begin{tikzpicture}[scale=2.5]

\definecolor{rucv}{rgb}{.88,0.077,.1}
\definecolor{bucv}{rgb}{.001,.086,.55}

\draw(2.6,.58)node[color=bucv][font=\fontsize{20}{20}\sffamily\bfseries]{TEXT};

\draw(2.6,.3)node[color=bucv][font=\fontsize{20}{20}\sffamily\bfseries]{T\Large{EXT} \huge{T}\Large{EXT}};

\end{tikzpicture}

\vspace*{1cm}

\begin{LARGE} \textbf{"TEXT}\end{LARGE}\\
\vspace*{.5cm}
\begin{LARGE} \textbf{
TEXT"}\end{LARGE}\\
\vspace*{1cm}
\begin{large} TEXT:\end{large}\\
\vspace*{.6cm}
\begin{LARGE} \textbf{TEXT}\end{LARGE}\\
\vspace*{.8cm}
\begin{large}Elaborado por:\end{large}\\
\vspace*{.4cm}
\begin{Large} \textbf{Text}\end{Large}\\
\vspace*{.8cm}
\begin{large}Text:\end{large}\\
\vspace*{.4cm}
\vspace*{2cm}
\begin{Large} \textbf{TEXT}\end{Large}\\
\vspace*{.4cm}
\begin{Large} \textbf{2013}\end{Large}\\
\vspace*{.4cm}

\end{center}
\end{titlepage}


\tableofcontents
\newpage
\section{TITLE}
\section{TITLE}
\subsection{Subtitle}
\subsection{Subtitle}
\section{TITLE}
\lipsum
\subsection{Subtitle}
\subsection{Subtitle}
\subsubsection{Title}
\begin{easylist}
& Title
& Title
&& Subtitle
&&& Title
& Title
\end{easylist}

\subsubsection{Title}
\subsection{Subtitle}
\section{TITLE}
\subsection{Subtitle}
\subsubsection{Title}

\end{document}

页

答案1

\headheight/包裹fancyhdr

\headheight设置为0.46cm= 13.08846pt。但是页面样式中header的设置需要花哨14.96666pt。查看包的警告fancyhdr

Package Fancyhdr Warning: \headheight is too small (13.08846pt): 
 Make it at least 14.96666pt.
 We now make it that large for the rest of the document.
 This may cause the page layout to be inconsistent, however.

作为紧急措施,软件包会在此过程中fancyhdr更改并“破坏”您的页面布局。因此,请将增加到(或)并更正布局(减小文本主体的高度以腾出空间放置标题,...),例如:\headheight\headheight15pt14.96666pt

\setlength{\headheight}{15pt}
\addtolength{\textheight}{0.46cm}% old \headheight
\addtolength{\textheight}{-15pt}% new \headheight

输出驱动器的纸张尺寸

LaTeX 将纸张尺寸保存在 dimen 寄存器\paperwidth和 中\paperheight。它可以通过文档类选项或类似 的包进行设置geometry。由于标准类(articlereportbook)的默认值为letterpaper,因此指定a4paper是正确的。

但是,LaTeX 内核不会将纸张尺寸告知输出驱动程序,它根本不处理输出驱动程序。:-(

然后,它取决于输出驱动程序(pdfTeX,XeTeX,...)的默认值,选择哪种纸张尺寸。

一些软件包(例如、、、)geometry填补typearea了LaTeX 内核留下的空白,并将纸张尺寸告知输出驱动程序。hyperrefpdftex.def

最小示例无需上述任何包即可手动设置布局。例如geometry,包 也可用于页面布局,可在序言末尾的布局分配后使用:

\usepackage[pass]{geometry}

选项pass阻止该包geometry更改页面布局。但它会告诉输出驱动程序纸张大小。因此,您还应该使用 XeTeX 获得 A4。

相关内容