Adjustbox 包提供了一种在表格环境中垂直对齐图像和一段文本的方法;我已提供一个示例来展示这一点:
麦维亚
\documentclass{article}
\usepackage{lipsum}
\usepackage{booktabs}
\usepackage[demo]{graphicx}
\usepackage[active,tightpage]{preview}
\usepackage[export]{adjustbox}
\PreviewEnvironment{tabular}
\setlength\PreviewBorder{5pt}
\newlength{\parboxwidth}
\setlength{\parboxwidth}{8.0cm}
\begin{document}
\begin{tabular}[t]{rl}
\midrule
\adjustbox{valign=t}{\includegraphics[height=2.0cm, keepaspectratio=true] {image.png}} & %
\adjustbox{valign=t}{%
\parbox[t]{\parboxwidth}{%
\lipsum[1]}
} \\
\midrule
\end{tabular}
\end{document}
输出结果如下:
最后,我想使用 fancyhdr 包将与上述非常相似的功能放置为标题。我在下面包含了我的尝试,但是,正如输出所证明的那样,我似乎无法对齐图像和文本,以使它们的顶部与标题区域的顶部相接。它们对齐到相同的垂直位置,但是,这个位置不在标题的顶部。
网页设计
\documentclass{article}
\usepackage{lipsum}
\usepackage{booktabs}
\usepackage[demo]{graphicx}
\usepackage[export]{adjustbox}
\usepackage{fancyhdr}
\usepackage[showframe,textwidth=245.0pt,%
top=2in,
headheight=1.0in,
headsep=0.20in]{geometry}
\newlength{\parboxwidth}
\setlength{\parboxwidth}{8.0cm}
\begin{document}
\fancypagestyle{plain}{%
\fancyhead[R]{%
\begin{tabular}{rl}
\adjustbox{valign=t}{\includegraphics[height=1.0cm, keepaspectratio=true] {image.png}} & %
\adjustbox{valign=t}{%
\parbox[t]{\parboxwidth}{%
content content content content content content content content content content content content content content content content content content content content content content content content content content content content}
}
\end{tabular}
}%
\renewcommand{\headrule}{}%
}%
\makeatletter
\let\ps@firstpage\ps@plain%
\makeatother
\thispagestyle{plain}
\section*{Body}
\lipsum[1]
\end{document}
这给出输出:
任何意见或建议都将不胜感激。
补充材料:
答案1
您不需要tabular
。一个问题是您的图形宽度加上 parbox 宽度加上任何左间隙和间隙必须加起来等于\textwidth
,所以我这样定义它,使用\theleftgap
和\themidgap
作为\figurewidth
可设置尺寸。而不是adjustbox
,我过去常常\belowbaseline[-\ht\strutbox]{...}
垂直调整图形以匹配[t]
parbox。为了让整个套件和 caboodle 顶部对齐,我将\rule
负高度设置为\headheight
。
textwidth=245.0pt,
我注释掉了导致我的 MWE 产生非常窄的输出的字符串。
\documentclass{article}
\usepackage{lipsum}
\usepackage{booktabs}
\usepackage[demo]{graphicx}
\usepackage{fancyhdr}
\usepackage[showframe,%textwidth=245.0pt,%
top=2in,
headheight=1.0in,
headsep=0.20in]{geometry}
\newlength{\parboxwidth}
\def\figurewidth{3cm}
\def\themidgap{1em}
\def\theleftgap{.5\textwidth}
\setlength{\parboxwidth}{\dimexpr\textwidth-\theleftgap-\figurewidth-\themidgap\relax}
\usepackage{stackengine}
\begin{document}
\fancypagestyle{plain}{%
\fancyhead[c]{\rule[-\headheight]{0pt}{1pt}%
\hspace{\theleftgap}%
\belowbaseline[-\ht\strutbox]{\includegraphics[width=\figurewidth, height=1cm]{image.png}}%
\hspace{\themidgap}\parbox[t]{\parboxwidth}{%
content content content content content content content content content content
content}
}%
\renewcommand{\headrule}{}%
}%
\makeatletter
\let\ps@firstpage\ps@plain%
\makeatother
\thispagestyle{plain}
\section*{Body}
\lipsum[1]
\end{document}