`eso-pic` 包有多大的灵活性?

`eso-pic` 包有多大的灵活性?

我想在文本块的右上角放置一个背景图像。该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您可以使用backgroundtikzpagenodes帮助。

\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}

在此处输入图片描述

相关内容