在 tikz 環境中對齊逐項項目符號

在 tikz 環境中對齊逐項項目符號

tikzpicture將環境放入環境中時itemize,項目符號點未與tikz圖片正確對齊。在這種情況下,「正確」意味著項目符號應相對於圖片垂直居中。

我之前只是baseline手動調整以獲得我想要的內容,但調整將取決於我正在使用的字體等。幻數在我的基準調整中,這樣它就會自動調整到我正在使用的字體。有什麼建議如何實現這一點嗎?

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

在此輸入影像描述

答案1

您最好對齊節點中已知的自然點:

樣本輸出

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

如果你想修復水平對齊(你沒有問過,但芭芭拉·比頓(Barbara Beeton)問過),那麼你將不得不更加努力地工作。

水平間距的範例

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

我可能會過於謹慎地檢查每個框後的 x 分隔值,但這在更複雜的程式碼中可能是必要的。

相關內容