假设我在用 排版的文档中有以下代码memoir
:
\begin{figure}
\centering
\subbottom[]{
\label{sub1}
\includegraphics[width=0.4\linewidth]{test.png}}%
\subbottom[]{
\label{sub2}
\includegraphics[width=0.4\linewidth]{test.png}}%
\caption{\subcaptionref{sub1}: Left of the figure. \subcaptionref{sub2}: Right of the figure}
\end{figure}
生成下图:
我希望能够在每幅图像上叠加一些文本和数学公式(并相对于每幅图像进行坐标计算)。
我读过这两篇文章:
我非常喜欢其中第一个描述的解决方案,即使用tikz
命令来叠加文本和公式。
但是,他们提供的示例需要使用tikzpicture
环境,这似乎阻止我\subbottom[]
在回忆录中使用子图。
如何将tikzpicture and
scope 与subbottom
in结合使用memoir
?
为了举例子,假设我想将符号叠加$\phi$
在左边子图的中心,将符号$\psi$
叠加在右边子图的中心(都在小白框内)。
答案1
正如你要求的 tikz 方法,这里有一种方法。当然,你可以整理代码并创建命令等,但下面的示例向你展示了一种可能的方法
\documentclass{memoir}
\usepackage{graphicx}
\newsubfloat{figure}
\usepackage{tikz}
\begin{document}
\begin{figure}
\centering
\subbottom[]{%
\label{sub1}
\begin{tikzpicture}[inner sep=0pt,remember picture]
\node at (0,0) {\includegraphics[width=0.4\linewidth]{test.jpg}};
\node[fill=green!20] (a) at (1,1) {A node};
\end{tikzpicture}
}%
\subbottom[]{
\label{sub2}
\begin{tikzpicture}[inner sep=0pt,remember picture]
\node at (0,0) {\includegraphics[width=0.4\linewidth]{test.jpg}};
\node[fill=red!20] (b) at (0.5,0.5) {A node};
\end{tikzpicture}
}%
\begin{tikzpicture}[remember picture,overlay]
\draw[->,red,very thick] (a) to[bend right] (b);
\end{tikzpicture}
\caption{\subcaptionref{sub1}: Left of the figure. \subcaptionref{sub2}: Right
of the figure}
\end{figure}
\end{document}
基本上,你在一个节点中放置图片,然后你可以在上面放置其他节点。通过告诉 tikz 记住节点,你以后可以连接这些节点
答案2
您实际上并不需要 TikZ。但是,它确实允许在叠加图形方面提供更多的自由和变化。按原样,可以通过以下方式实现叠加\ooalign
:
\documentclass{memoir}% http://ctan.org/pkg/memoir
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\newsubfloat{figure}% Allows \subbottom and \subtop in figure
\newsavebox{\myfig}
\begin{document}
\begin{figure}
\centering
\savebox{\myfig}{\includegraphics[width=0.4\linewidth]{tiger}}% Store image
\subbottom[]{%
\label{sub1}%
\ooalign{\usebox{\myfig}\cr\hss\raisebox{\dimexpr.5\ht\myfig-.5\baselineskip}{\colorbox{white}{\Huge$\phi$}}\hss}}%
\subbottom[]{%
\label{sub2}%
\usebox{\myfig}}%
\caption{\subcaptionref{sub1}:~Left of the figure. \subcaptionref{sub2}:~Right of the figure}
\end{figure}
\end{document}
将图像设置在一个框(\myfig
)中,以获得适当的高度(通过\ht\myfig
)。\ooalign
叠加双重内容(图像和公式),同时\raisebox
将公式垂直移动到位。
看这个答案快速课程\ooalign
。