Aufzählungszeichen in Tikz-Umgebung ausrichten

Aufzählungszeichen in Tikz-Umgebung ausrichten

Beim Einfügen einer tikzpictureUmgebung in eine itemizeUmgebung ist der Aufzählungspunkt nicht korrekt mit dem tikzBild ausgerichtet. In diesem Fall bedeutet „korrekt“, dass der Aufzählungspunkt vertikal mittig zum Bild ausgerichtet sein sollte.

Ich habe vorher nur manuell optimiert, baselineum das zu bekommen, was ich will, aber die Optimierung hängt von der Schriftart ab, die ich verwende, usw. Ich möchte die Verwendung von a vermeidenmagische Zahlin meiner Grundlinienoptimierung, sodass es sich automatisch an die von mir verwendete Schriftart anpasst. Irgendwelche Vorschläge, wie das zu erreichen ist?

\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}

Bildbeschreibung hier eingeben

Antwort1

Besser ist es, die Ausrichtung an einem bekannten natürlichen Punkt in einem Knoten vorzunehmen:

Beispielausgabe

\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}

Wenn Sie die horizontale Ausrichtung korrigieren möchten (nach der Sie nicht gefragt haben, Barbara Beeton aber schon), müssen Sie sich etwas mehr anstrengen.

Beispiel mit horizontalem Abstand

\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}

Ich war vielleicht übervorsichtig, den Wert der X-Trennung nach jedem Kästchen zu prüfen, aber in komplizierterem Code kann dies durchaus notwendig sein.

verwandte Informationen