我一直在学习 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
边框。不知为何,它跳了下来。我发现的唯一去除它的方法如下:
这意味着我需要添加:
\edef\theprevdepth{\the\prevdepth}\nointerlineskip
\vbox to 0pt{...}\prevdepth=\theprevdepth
但这存在两个问题:
- 我尝试这个时出现错误(不正确
\prevdepth
。) - 更重要的是,我现在真的想理解我的代码,并掌握定位元素的基础知识。这感觉太复杂了,我完全不明白。
有没有什么简单的方法可以将图像定位到文档的右上角?
答案1
锚\vbox
定在基线。另外,由于\topskip
在页眉和第一行文本之间,页面顶部有一个附加部分。因此,垂直跳跃会将高度-\baselineskip-\topskip
推到页面边界的上部。\vbox
0pt
这是您的 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=0cm
geometry
,所以我放弃了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}