안녕하세요. 미리 감사드립니다!
빈 매크로 정의가 tikz 노드의 레이블 내에서 공간을 차지하고 의도한 정렬을 방해하는 이유를 알아내려고 합니다. (빈 매크로는 피할 수 없습니다. 그 정의가 다음에서 추출되기 때문입니다.목록, 빈 항목을 포함할 수 있습니다.) 레이블이 수직선에 왼쪽 정렬되어야 하는 다음 MWE를 고려하십시오.
\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}