我想在文本块的右上角放置一个背景图像。该eso-pic
包看起来不错,但手册中列出的命令仅指页面左侧,如 等\AtTextUpperLeft
。是否有针对页面右侧的命令?换句话说,是否有\AtTextUpperRight
?如果没有,是否有办法将图像放置在我需要的位置?
答案1
没有Right
与 exist 对应的内容Left
。但你可以将内容移动到位:
\documentclass{article}
\usepackage{eso-pic,graphicx}
\usepackage{lipsum,showframe}% Just for this example
\begin{document}
\AddToShipoutPictureBG*{
\AtTextUpperLeft{%
\makebox[\textwidth][r]{% Move over to right so right aligns with right of text block
\raisebox{-\height}{% Drop down so top aligns with top of text block
\includegraphics[width=5cm]{example-image}%
}%
}%
}%
}
\lipsum[1-10]
\end{document}
我猜想,之所以注重Left
位置,是因为项目是左对齐的,也就是说它们向右延伸。对于位置Right
,需要确保项目向左延伸(可能)。
这些可能是一个开始:
\newcommand{\AtTextUpperRight}[1]{%
\AtTextUpperLeft{%
\hspace*{\textwidth}%
#1%
}%
}
\newcommand{\AtTextLowerRight}[1]{%
\AtTextLowerLeft{%
\hspace*{\textwidth}%
#1%
}
}
答案2
eso-pic
您可以使用background
和tikzpagenodes
帮助。
\documentclass{article}
\usepackage{background}
\usepackage{tikzpagenodes}
\usepackage{lipsum,showframe}% Just for this example
\backgroundsetup{%
scale=1,
angle=0,
contents={\includegraphics[width=5cm]{example-image}},
position=current page text area.north east,
anchor=below left,
}
\begin{document}
\lipsum[1-10]
\end{document}