您好,非常感謝!
我試圖弄清楚為什麼空宏定義會佔用 tikz 節點標籤內的空間並阻止預期的對齊。 (我無法避免空宏,因為它的定義是從清單,它可以包含空白條目。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[every node/.style={anchor=west, inner sep=0}]
\draw[gray] (0,1) -- (0,-2);
\def\a{One!}\def\b{And two!}
\node at (0,0) {\fbox{\a}\fbox{\b}};
\def\a{}\def\b{Only two!}
\node at (0,-1) {\fbox{\a}\fbox{\b}};
\end{tikzpicture}
\end{document}
答案1
\fbox 的邊框為 \fboxsep。但你可以測試你的命令是否為空:
\documentclass{article}
\usepackage{tikz,etoolbox}
\begin{document}
\begin{tikzpicture}[every node/.style={anchor=west, inner sep=0}]
\draw[gray] (0,1) -- (0,-2);
\def\a{One!}\def\b{And two!}
\node at (0,0) {\fbox{\a}\fbox{\b}};
\def\a{}\def\b{Only two!}
\node at (0,-1) {\ifdefempty{\a}{}{\fbox{\a}}\fbox{\b}};
\end{tikzpicture}
\end{document}