命令中的 pdfcomment 吞嚥了參數的最後一個字符

命令中的 pdfcomment 吞嚥了參數的最後一個字符

嘿,TeXnicians 同胞們,我在與我編寫的自訂命令
整合時遇到了一些問題。pdfcomment無論命令多麼簡單,它似乎都會pdfcomment吞掉我傳遞給它的參數的最後一個字元。一個最小的複製案例在其序言中會包含這樣的內容:

\newcommand{\todoComment}[1]{\pdfmarkupcomment[markup=Highlight]{#1}{#1}}

....它的身體裡有類似的東西......

\todoComment{gradual}

....並產生如下輸出:

渲染的 PDF

\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

絕對有gradualPDF 註解內容!除了位置之外,兩種方法都產生相同的程式碼。所以,可能是您的 PDF 檢視器有問題!我用的是Win10/AR!

相關內容