下面我展示了两个示例;一个图像(通过 includegraphics)被放置在 fancyhdr 中,有和没有表格环境。当图像被放置在表格环境中时,垂直偏移很明显,但我不知道造成这种情况的原因。任何意见或建议都非常感谢。
共同文件:
地址.tex
868 Sunrise Ave. \\
Garden City \\
正文.tex
\lipsum[1]
第一个例子,没有表格环境:
字母表
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{theletter}[]
\LoadClass[]{letter}
\RequirePackage{lipsum}
\RequirePackage{fancyhdr}
\RequirePackage[demo]{graphicx}
\RequirePackage{catchfile}
\RequirePackage[showframe,%
textwidth=345.0pt,%
top=2in,
headheight=1.0in,
headsep=0.20in]{geometry}
\newcommand{\getaddressfrom}[1]{\CatchFileDef{\thefromaddress}{#1}{}}
\signature{Mae L. Mann}
\AtBeginDocument{%
\fancypagestyle{plain}{%
\fancyhead[L]{%
\includegraphics[height=1.0in, keepaspectratio=true]{image.png}%
}%
\renewcommand{\headrule}{}%
}
\pagestyle{empty}
\makeatletter
\let\ps@firstpage\ps@plain
\makeatother
\begingroup\def\tempa{\endgroup\begin{letter}{1234 Central St. \\ Western City}}
\expandafter\tempa\expandafter{\thefromaddress}%
\opening{\theopening}
}%
\AtEndDocument{%
\closing{\theclosing}
\ps{\thepostscript}
\end{letter}
}
字母表
\NeedsTeXFormat{LaTeX2e}
\documentclass{theletter}
\getaddressfrom{address.tex}
\newcommand{\theopening}{Dear Recipient}
\newcommand{\theclosing}{Sincerely,}
\newcommand{\thepostscript}{}
\begin{document}
\input{body.tex}
\end{document}
我首先附加与此示例相关的输出,然后附加第二个示例的输出。与第二个示例相关的文件如下:
字母表.cls
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{theletter}[]
\LoadClass[]{letter}
\RequirePackage{lipsum}
\RequirePackage{fancyhdr}
\RequirePackage[demo]{graphicx}
\RequirePackage{catchfile}
\RequirePackage[showframe,%
textwidth=345.0pt,%
top=2in,
headheight=1.0in,
headsep=0.20in]{geometry}
\newcommand{\getaddressfrom}[1]{\CatchFileDef{\thefromaddress}{#1}{}}
\signature{Mae L. Mann}
\AtBeginDocument{%
\fancypagestyle{plain}{%
\fancyhead[L]{%
\begin{tabular}{c}
\includegraphics[height=1.0in, keepaspectratio=true]{image.png}%
\end{tabular}
}%
\renewcommand{\headrule}{}%
}
\pagestyle{empty}
\makeatletter
\let\ps@firstpage\ps@plain
\makeatother
\begingroup\def\tempa{\endgroup\begin{letter}{1234 Central St. \\ Western City}}
\expandafter\tempa\expandafter{\thefromaddress}%
\opening{\theopening}
}%
\AtEndDocument{%
\closing{\theclosing}
\ps{\thepostscript}
\end{letter}
}
最后是第二个示例的调用:bletter.tex
\NeedsTeXFormat{LaTeX2e}
\documentclass{thelettertabular}
\getaddressfrom{address.tex}
\newcommand{\theopening}{Dear Recipient}
\newcommand{\theclosing}{Sincerely,}
\newcommand{\thepostscript}{}
\begin{document}
\input{body.tex}
\end{document}
答案1
所有 TeX 框都对齐,使得它们的参考点位于正在构建的水平框的基线上。
盒子的参考点由\includegraphics
是其左下角,并且您的第一张图像显示基线上图像的底部。
的参考点tabular
是它的垂直中心,第二张图像显示穿过图像中心的基线。
如果使用\begin{tabular}[t]
(或[b]
),表格的参考点将是第一行(或最后一行)的基线,即图像的基线,因为只有一行。