在Latex中,有時需要對pdf文檔里的圖形進行注釋,例如添加一個箭頭,增加帶指針的文本框等等,基本上有3種實現的方法:
- 直接對插入的圖片進行注釋,利用photoshop, GIMP等工具添加注釋塗層。缺點:注釋好后無法在pdf中進行修改,較死板。
- 利用pdf閱讀器直接添加注釋。缺點:每次對pdf進行修改后都必須重新添加注釋,較繁瑣。
- 利用Latex代碼生成對圖的注釋。缺點:注釋的語法比較復雜,上手不易。優點:代碼調整好后圖是圖,注釋是注釋,后面.tex文檔再做其它修改並不影響pdf注釋,所謂一勞永逸之法。
這里重點介紹一下第三種方法,參考的一個例子來自國外的網站[1]:
\documentclass{article}
%\usepackage{showframe}
\usepackage{tikz}
\begin{document}
\noindent
\begin{tikzpicture}
\node [anchor=west] (note) at (-1,3) {\Large Note};
\node [anchor=west] (water) at (-1,1) {\Large Water};
\begin{scope}[xshift=1.5cm]
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=0.7\textwidth]{test.jpg}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\draw[red,ultra thick,rounded corners] (0.48,0.80) rectangle (0.55,0.95);
\draw [-latex, ultra thick, red] (note) to[out=0, in=-120] (0.48,0.80);
\draw [-stealth, line width=5pt, cyan] (water) -- ++(0.4,0.0);
\end{scope}
\end{scope}
\end{tikzpicture}%
\end{document}
上面添加了兩種線形注釋,具體參數的意義還需要另加揣摩。
參考:
[1]https://tex.stackexchange.com/questions/186389/how-can-i-annotate-an-image-with-arrow-and-text