各位 TeXnicians 大家好,
我在集成我编写的自定义命令时遇到了一些问题pdfcomment
。无论命令多么简单,它似乎都会pdfcomment
吞掉我传递给它的参数的最后一个字符。最小的重现案例将在其序言中包含类似以下内容:
\newcommand{\todoComment}[1]{\pdfmarkupcomment[markup=Highlight]{#1}{#1}}
...它的身体里有类似这样的东西......
\todoComment{gradual}
...并产生如下输出:
\pdfmarkupcomment
在正文中正常调用不会产生类似的问题。
我发现导致传入字符串的最后一个字符渲染的唯一原因是在#1
--- 后面留下一个完整的空格,将参数括在括号中会导致 LaTeX 抛出错误,并且添加\xspace
无效。作为解决方案,这还不是最糟糕的,我当然可以忍受。但我很想知道是否有人知道到底发生了什么。我已经使用 LaTeX 多年了,但这个问题让我很困惑。
提前感谢您的想法!
答案1
使用这个 MWE,
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{bera}
\usepackage{pdfcomment}
\newcommand{\todoComment}[1]{\pdfmarkupcomment[markup=Highlight]{#1}{#1}}
\pdfminorversion=3
\begin{document}
\todoComment{gradual}
\pdfmarkupcomment[markup=Highlight]{gradual}{gradual}
\end{document}
我得到以下结果:
你mwe.pdf
会发现:
3 0 obj
<<
/Type /Annot
/Subtype /Highlight /C [0 0 1] /CreationDate (D:20161115180801+0000) /M (D:20161115180801+0000) /CA 1.0 /T () /Subj () /Contents (gradual) /Open false /QuadPoints [148.71194 664.93233 183.80598 664.93233 148.71194 654.18423 183.80598 654.18423] /F 4
/Rect [148.712 657.235 148.712 657.235]
>>
endobj
4 0 obj
<<
/Type /Annot
/Subtype /Highlight /C [0 0 1] /CreationDate (D:20161115180801+0000) /M (D:20161115180801+0000) /CA 1.0 /T () /Subj () /Contents (gradual) /Open false /QuadPoints [148.71194 652.3794 183.80598 652.3794 148.71194 641.6313 183.80598 641.6313] /F 4
/Rect [148.712 644.682 148.712 644.682]
>>
endobj
肯定有gradual
PDF 注释内容!除了位置之外,这两种方法都产生相同的代码。所以,可能是你的 PDF 查看器有问题!我用的是 Win10/AR!