Superposiciones de Tikz en subfiguras en memorias

Superposiciones de Tikz en subfiguras en memorias

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:

ingrese la descripción de la imagen aquí

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:

Me gusta mucho la solución descrita en el primero de ellos, es decir, usar tikzcomandos para superponer texto y fórmulas.

Sin embargo, los ejemplos que proporcionan requieren el uso de un tikzpictureentorno, lo que parece impedirme utilizar \subbottom[]subfiguras en mis memorias.

¿Cómo puedo utilizar tikzpicture andel alcance en combinación con subbottomin 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

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí

\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). \ooalignsuperpone el contenido dual (imagen y fórmula) mientras \raiseboxmueve la fórmula a su posición vertical.

Veresta respuestapara un curso rápido en \ooalign.

información relacionada