如何将图像放置在文档的右上角?

如何将图像放置在文档的右上角?

我一直在学习 LaTeX,这个社区非常有帮助。目前,我正在尝试设置公司信函,但作为新手,我遇到了种类挑战,所以我逐一发布它们而不是放在评论中......也许这对其他人也有帮助。

无论如何,我正在尝试实现这一点回答这表明我可以使用vbox来将图像浮动到标题的右侧。我几乎可以做到这一点,但现在我尝试调整它以使我的徽标粘在页面顶部。所以我想把它放在右上我的文档。这相当困难!当我放置时vbox,出于某种奇怪的原因,它会产生不必要的间距。因此,即使我将每个可能的边距“重置”为 0(在我看来),我也无法让徽标位于右上角。这是我的精简代码:

\documentclass[a4paper]{article}
\usepackage{graphicx}
\graphicspath{{./img/}}
\usepackage{color}
\usepackage{xcolor}
\definecolor{orange}{HTML}{DD4616}
\definecolor{white}{HTML}{FFFFFF}
\usepackage{fullpage}
\usepackage[margin=0cm, paperwidth=215.9mm, paperheight=30mm,top=0cm]{geometry}
\parindent=0pt

\begin{document}
\fboxsep0pt

\pagecolor{orange}


\fbox{\vbox to 0pt{\hfill\fbox{\includegraphics[height=3cm]{logo}}}}

\end{document}

为了便于说明,我使用了全黑色徽标。您可以在这里看到:

在此处输入图片描述

黑线是vbox边框。不知为何,它跳了下来。我发现的唯一去除它的方法如下:

创建一个不可见的 vbox

这意味着我需要添加:

\edef\theprevdepth{\the\prevdepth}\nointerlineskip
\vbox to 0pt{...}\prevdepth=\theprevdepth

但这存在两个问题:

  • 我尝试这个时出现错误(不正确\prevdepth。)
  • 更重要的是,我现在真的想理解我的代码,并掌握定位元素的基础知识。这感觉太复杂了,我完全不明白。

有没有什么简单的方法可以将图像定位到文档的右上角?

答案1

\vbox定在基线。另外,由于\topskip在页眉和第一行文本之间,页面顶部有一个附加部分。因此,垂直跳跃会将高度-\baselineskip-\topskip推到页面边界的上部。\vbox0pt

这是您的 MWE:

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\definecolor{orange}{HTML}{DD4616}
\definecolor{white}{HTML}{FFFFFF}
\usepackage{fullpage}% http://ctan.org/pkg/fullpage
\usepackage[margin=0cm, paperwidth=215.9mm, paperheight=30mm]{geometry}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{-\fboxrule}%
\begin{document}
\pagecolor{orange}%
\vspace*{\dimexpr-\baselineskip-\topskip\relax}

\fbox{\vbox to 0pt{\hfill\fbox{\includegraphics[height=3cm]{html5}}}}
\end{document}

关于代码的一些评论:

  • 您必须使用\vspace*页面顶部的垂直空间;
  • \dimexpr...\relax用作组合长度(或尺寸)的尺寸表达式。您还可以包括calc包裹这使得您可以放弃这种符号并按-\baselineskip-\topskip原样使用;
  • 我使用\setlength而不是\<len>=<dim>- 这只是 LaTeX 的方式;后者是 TeX 的方式;
  • margin=0cm相当于left=0cm,right=0cm,bottom=0cm,top=0cmgeometry,所以我放弃了top=0cm
  • 我设置\fboxsep-\fboxrule。这样规则就真正画出来了之内边界框。否则,即使使用,它也会添加.4pt到每条边(总共垂直和水平) ;.8pt\setlength{\fboxsep}{0pt}
  • 加载中xcolor就足够了,所以你不需要加载color

答案2

使用 TikZ 和current page节点,您可以将图像放置在页面的右上角,只需将图像节点锚点设置为东北即可。您需要添加到代码中的是

\usepackage{tikz}

在序言中,然后在你的代码中

\begin{tikzpicture}[remember picture, overlay]
  \node [anchor=north east, inner sep=0pt]  at (current page.north east)
     {\includegraphics[height=3cm]{logo}};
\end{tikzpicture}

右上角的徽标

答案3

通常来说,这样说就足够了:

\usepackage[margin=0cm, 
            paperwidth=215.9mm, 
            paperheight=30mm,
            top=-10pt]{geometry}

几何尺寸也可以为负数。上图中top设置为top=-10pt

答案4

不使用特殊几何设置:

\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage{xcolor}
\begin{document}
\pagecolor{orange}
\vspace*{\dimexpr-1in-\topmargin-\headsep-\headheight-\baselineskip}%
\hspace*{\dimexpr-1in-\evensidemargin-\parindent}%
\makebox[\paperwidth][r]{\frame{\includegraphics[height=3cm]{tiger}}}

\end{document}

在此处输入图片描述

相关内容