我有一个 PDF 格式的图表,它已被裁剪为没有边距,使用pdfcrop
几个月后,我意识到我需要添加 X 轴和 Y 轴标签。由于我没有生成图形的原始脚本,因此我通过在左角和下角添加窄边距来编辑 PDF:
pdfcrop --margin '20 0 0 20' fig_tight_cropped.pdf fig_with_axis_labels.pdf
然后编辑 PDF 并添加 X 和 Y 标签(使用Mac 的预览工具)
然而,当我把它们放在乳胶文件中时,PDFLatex 会让它们看起来完全一样,忽略第二个文件中添加的边距。
以下是最小工作示例:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h!]
\includegraphics{fig_tight_crop.pdf}
\includegraphics{fig_with_axis_labels.pdf}
\end{figure}
\end{document}
输出如下:
我怎样才能显示边距?为什么它一开始就消失了?
PS 以下是有边距和无边距的图片:
答案1
您可以使用 为图像添加注释tikz
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgftext{%
\includegraphics[width=\textwidth]{fig_tight_cropped}%
}%
\node[xshift=-6.5cm,rotate=90] {$C_d$};
\node[yshift=-4.4cm] {$C_x$};
\end{tikzpicture}
\end{document}
该tikz-imagelabels
包可以帮助放置注释:
\documentclass{article}
\usepackage{tikz-imagelabels}
\imagelabelset{
image label distance=-7mm,
image label back=none,
image label text=black}
\begin{document}
\begin{annotationimage}{width=\textwidth}{fig_tight_cropped}
\draw[image label = {$C_x$ at south}];
\draw[image label = {\rotatebox{90}{$C_d$} at west}];
\end{annotationimage}
\end{document}
第一个解决方案为您提供了更多可能性。例如,您可以在任何需要的地方添加坐标系和其他注释:
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [anchor=south west] at (0,0) {\includegraphics[width=\textwidth]{fig_tight_cropped}};
\draw [very thick,draw=red,->] (0,0) -- (0,7) node[below left,midway] {$C_x$};
\draw [very thick,draw=red,->] (0,0) -- (7,0) node[midway, below left] {$C_d$};
\node at (5,6) {An annotation here};
\end{tikzpicture}
\end{document}