我正在使用该overpic
包来编辑预先创建的 pdf,通过在\put(){$$}
每一行之间写下注释。
soul
但是,我在使用该包并突出显示 pdf 的现有文字时遇到了困难,\hl
因为它在前景中突出显示了它。
有没有办法在背景中突出显示 pdf 上现有的文字并保留原始文字从而突出显示它?
\documentclass[11pt,a4paper]{article}
\usepackage{overpic}
\usepackage{eso-pic}
\usepackage{soul}
\begin{document}
\begin{figure}
\vspace*{-28ex}
\hspace*{-30ex}
\begin{overpic}[width=9in,page=14]{file.pdf/jpg %%}
\put(20,29){}%using the number 10,20 puts writing over the highlight below%%i need the number to be the same so where would I incorporate my vspace and hspace and textwidth for the sHIPOUT%
\AddToShipoutPictureBG*{
\put(30,115){\hl{\qquad\qquad\qquad% using \qquad to make a space for what is supposed to be highlighted%}}}
\end{overpic}
\end{figure}
\clearpage
\begin{figure}
\vspace*{-28ex}
\hspace*{-30ex}
\begin{overpic}[width=9in,page=15]{file.pdf/jpg %%}
\end{overspace}
\end{figure}
\end{document}
我的问题是如何让背景与 overpic 中的其他 \put 对齐?我尝试在 shipout 上分别使用 vspace 和 hspace,但似乎不起作用,另外我如何让它只出现在一个页面上?
答案1
作为一般性说明,您需要按照希望内容在输出 PDF 中出现的顺序指定代码。也就是说,如果您希望在背景上打印某些内容,则应该首先打印该内容,然后打印其上方的内容,等等。PDF 的输出是分层生成的,因此建议按此顺序使用。因此,对于您的情况,我假设以下方法应该可以解决问题:
- 编写包含突出显示和公式的代码;然后
- 将外部 PDF 页面叠加到您的格式之上。
上面的 [2] 不应影响 [1],因为您想要插入方程式的地方有空白,并且突出显示应该是可见的,因为它比覆盖的文本更大。
作为一个简单的选择(在我看来),eso-pic
包裹允许您指定是否要在背景 ( \AddToShipoutPictureBG*
) 或前景 ( \AddToShipoutPictureFG*
) 中打印某些内容。这样,您可以使用后者而不是前者来添加覆盖/已存在的 PDF。或者,由于您标记了问题pdf页面,我猜这就是您用来包含页面的方法(通过\includepdf
)。
如果eso-pic
您不感兴趣,那么您可以尝试定位命令,\includepdf
以便包含的 PDF 页面适合您的\pic(<x>,<y>){$...$}
命令。这可能有点棘手。
最后,由于您是逐行放置突出显示,因此您可能对换行突出显示不感兴趣(这是 确实提供的功能soul
)\hl{...}
。因此,您也可以使用彩色框作为“突出显示”。以下是使用彩色框的方法(使用xcolor
):
\documentclass{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
Here is some text \colorbox{yellow}{\phantom{here is some text}}.%
\end{document}
您选择突出显示颜色(yellow
在本例中),并使用\phantom{...}
删除文本但获得正确的间距。当然,在您的示例中,您将使用 放置此文本\pic
。
如果您已经创建的 PDF 是图像(因此空白不透明),那么无论您做什么都不会起作用,因为您无法进入文本“后面”和空白“前面”。