我之前使用的是 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
\headheight
15pt
14.96666pt
\setlength{\headheight}{15pt}
\addtolength{\textheight}{0.46cm}% old \headheight
\addtolength{\textheight}{-15pt}% new \headheight
输出驱动器的纸张尺寸
LaTeX 将纸张尺寸保存在 dimen 寄存器\paperwidth
和 中\paperheight
。它可以通过文档类选项或类似 的包进行设置geometry
。由于标准类(article
、report
、book
)的默认值为letterpaper
,因此指定a4paper
是正确的。
但是,LaTeX 内核不会将纸张尺寸告知输出驱动程序,它根本不处理输出驱动程序。:-(
然后,它取决于输出驱动程序(pdfTeX,XeTeX,...)的默认值,选择哪种纸张尺寸。
一些软件包(例如、、、)geometry
填补typearea
了LaTeX 内核留下的空白,并将纸张尺寸告知输出驱动程序。hyperref
pdftex.def
最小示例无需上述任何包即可手动设置布局。例如geometry
,包 也可用于页面布局,可在序言末尾的布局分配后使用:
\usepackage[pass]{geometry}
选项pass
阻止该包geometry
更改页面布局。但它会告诉输出驱动程序纸张大小。因此,您还应该使用 XeTeX 获得 A4。