
Digamos que tengo el siguiente código en un documento tipográfico con 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}
lo que genera la siguiente figura:
Me gustaría poder superponer texto y fórmulas matemáticas en cada una de las imágenes (con coordenadas relativas a cada imagen).
Leí estas dos publicaciones:
- Dibujar sobre una imagen con TikZ
- ¿La forma más sencilla de superponer un texto + etiqueta rectangular en una imagen?
Me gusta mucho la solución descrita en el primero de ellos, es decir, usar tikz
comandos para superponer texto y fórmulas.
Sin embargo, los ejemplos que proporcionan requieren el uso de un tikzpicture
entorno, lo que parece impedirme utilizar \subbottom[]
subfiguras en mis memorias.
¿Cómo puedo utilizar tikzpicture and
el alcance en combinación con subbottom
in memoir
?
Por el bien del ejemplo, digamos que quiero superponer el símbolo $\phi$
en el centro de la subfigura de la izquierda y el símbolo $\psi$
en el centro de la subfigura de la derecha (ambos dentro de pequeños cuadros blancos).
Respuesta1
Como pediste una forma tikz, aquí tienes una. Por supuesto, puedes ordenar mucho el código y crear comandos y demás, pero el siguiente ejemplo te muestra una posible manera.
\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}
Básicamente, solo tienes la imagen en un nodo y puedes tener otros nodos en la parte superior. diciéndole a tikz que recuerde los nodos, luego podrá conectar esos nodos
Respuesta2
Realmente no necesitas TikZ para esto. Sin embargo, permite más libertad y variabilidad en términos de superposición de gráficos. Tal cual, las superposiciones son posibles a través de \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}
Las imágenes se colocan en un cuadro ( \myfig
) para obtener la altura adecuada (vía \ht\myfig
). \ooalign
superpone el contenido dual (imagen y fórmula) mientras \raisebox
mueve la fórmula a su posición vertical.
Veresta respuestapara un curso rápido en \ooalign
.