在 fancyhdr 中使用和不使用表格环境对图像进行对齐(通过 includegraphics)

在 fancyhdr 中使用和不使用表格环境对图像进行对齐(通过 includegraphics)

下面我展示了两个示例;一个图像(通过 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]),表格的参考点将是第一行(或最后一行)的基线,即图像的基线,因为只有一行。

相关内容