Alinear la viñeta detallada dentro del entorno tikz

Alinear la viñeta detallada dentro del entorno tikz

Al colocar un tikzpictureentorno dentro de un itemizeentorno, la viñeta no está correctamente alineada con la tikzimagen. En este caso, "correcto" significa que la viñeta debe estar centrada verticalmente con respecto a la imagen.

Anteriormente simplemente modifiqué elbaseline manualmente para obtener lo que quiero, pero el ajuste dependerá de la fuente que esté usando, etc. Me gustaría evitar el uso de unnúmero mágicoen mi ajuste de referencia, para que se ajuste automáticamente a la fuente que estoy usando. ¿Alguna sugerencia sobre cómo lograrlo?

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{itemize}
    \item
        \begin{tikzpicture}%[baseline = -2.5pt] % magic number tweak
            \draw [very thick, ->] (0,0) -- (2,0);
            \node[left] at (0,0) {XX};
            \node[right] at (2,0) {YY};
        \end{tikzpicture}
\end{itemize}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

Es mejor que te alinees con un punto natural conocido en un nodo:

Salida de muestra

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{itemize}
\item
  \begin{tikzpicture}[baseline=(A.base)] % magic number tweak
    \draw [very thick, ->] (0,0) -- (2,0);
    \node[left] at (0,0) (A) {XX};
    \node[right] at (2,0) {YY};
  \end{tikzpicture}
\item \( X \)
\end{itemize}

\end{document}

Si desea arreglar la alineación horizontal (sobre la cual no preguntó, pero sí Barbara Beeton), tendrá que trabajar un poco más.

Muestra con espaciado horizontal

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{itemize}
\item
  \begin{tikzpicture}[baseline=(A.base)] % magic number tweak
    \node at (0,0) (A) {XX};
    \pgfkeysgetvalue{/pgf/inner xsep}{\myAxsep}
    \node at (2,0) (B) {YY};
    \pgfkeysgetvalue{/pgf/inner xsep}{\myBxsep}
    \draw [very thick, ->] (A) -- (B);
    \pgfresetboundingbox
    \useasboundingbox ($(A.south west)+(\myAxsep,0)$) rectangle
    ($(B.north east)-(\myBxsep,0)$);
  \end{tikzpicture}
  and some text.
\item \( X \)
\end{itemize}

\end{document}

Quizás he sido demasiado cauteloso al comprobar el valor de la separación x después de cada casilla, pero esto puede ser necesario en un código más complicado.

información relacionada