![在 tikz 環境中對齊逐項項目符號](https://rvso.com/image/298791/%E5%9C%A8%20tikz%20%E7%92%B0%E5%A2%83%E4%B8%AD%E5%B0%8D%E9%BD%8A%E9%80%90%E9%A0%85%E9%A0%85%E7%9B%AE%E7%AC%A6%E8%99%9F.png)
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 分隔值,但這在更複雜的程式碼中可能是必要的。