我希望能够绘制一个在 PDF 中显示但不会打印的框,就像使用包制作的链接周围的框一样hyperref
。
我想minipage
在框里面放置一个包含多个段落的环境。
答案1
这是使用 Martin 提到的包的解决方案pdfcomment
。
优点:
- 没有链接到任何地方
- 指向文本时不会将光标更改为手形指针。
缺点:
- 很可能仅适用于 Adobe Reader(不适用于 GhostView 和 Sumatra)
- 您必须手动找到矩形的坐标(“为了避免方法‘trail [sic] and error’,您可以使用 Ghostscript 查看器加载 PDF 文件,它能够在其状态行中显示光标位置。”,pdfcomment 文档)
- 根据用户在打印窗口中的设置是否打印该框;“打印文档”(不打印框)或“打印文档和标记”(打印框)。
- 指向框/边框时更改光标;框是可点击的,点击后变为“选中”状态
至于坐标:
您可以使用选项 line 定义某些 PDF 注释中的线条坐标,例如以 的形式
{x1 y1 x2 y2}
。原点位于页面左下角。给定的数字将被解释为 Postscript 点(LaTeX 单位:bp(大点)),与 PDF 文档中一样。
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{pdfcomment}
\begin{document}
\lipsum[1]
\pdflinecomment[type=polyline,lineend={/None},% = line with >2 "corners", no arrowhead
line={120 720 120 570 480 570 480 720 120 720},% adapt to your document
color=green,linewidth=1.5pt% adapt to your liking
]{}
\end{document}
答案2
边框是 PDF 注释,正如我在hyperref
超链接的代码部分中看到的。使用现有的 LaTeX 包似乎无法在没有链接的情况下添加它。相关pdfcomments
包也提供了一些注释,但据我所知也没有边框。使用一些直接的 PDF 代码可能可以实现\pdfliteral
,但您需要了解 PDF 命令。
但是,您可以通过将边框放在 或 中来添加边框\hyperref
,\href
但两者都不允许段落作为内容,并且会生成非常紧密的边框。您可以使用 v0.5 或更高版本的软件包adjustbox
(相对较新)来框住minipage
第一个段落,这样可以避免出现段落问题,如果需要,可以添加边距,并将其提供给 ,\hyperref
例如,它只是指向当前页面。边框颜色可以按照hyperref
手册中的说明进行配置。
\documentclass{article}
\usepackage{hyperref}
\usepackage{adjustbox}
\newenvironment{hborderbox}[1]{%
\begin{adjustbox}{minipage=#1,margin=1ex,precode=\hyperlink{page:\the\numexpr\arabic{page}-1\relax}}%
}{%
\end{adjustbox}%
}
\usepackage{lipsum}
\begin{document}
\begin{hborderbox}{.5\textwidth}
\lipsum[1]\par\lipsum[2]
\end{hborderbox}
\end{document}
答案3
它\endgraf
需要\par
\documentclass{article}
\usepackage[english]{babel}
\usepackage{hyperref}
\usepackage{blindtext}
\newcommand\TBox[1]{\href{http://tug.org}{%
\tabular{c}\begin{minipage}{0.75\linewidth}\rule{0pt}{3ex}%
#1\rule[-1ex]{0pt}{0ex}\end{minipage}\endtabular}}
\begin{document}
\TBox{\blindtext \endgraf\blindtext}
\end{document}