
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 分隔值,但這在更複雜的程式碼中可能是必要的。