考虑以下 MWE
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\begin{document}
\newcommand\addvmargin[1]{%
\node[fit=(current bounding box),inner ysep=#1,inner xsep=0]{};
}
\newcommand{\mysymbol}[1]{%
\begin{tikzpicture}[baseline=0]
\tikz \draw (2,0) node{#1} circle (2);
\addvmargin{1mm}
\end{tikzpicture}
}
\begin{tabular}{|c|c|}
\hline Symbol 1 & Symbol 2 \\\hline
\mysymbol{foo} & \mysymbol{bar} \\\hline
\mysymbol{baz} & \mysymbol{foobar} \\\hline
\end{tabular}
\end{document}
结果如下
如您所见,tikz 图片到垂直表格边框线的距离比右侧略短。因此图片没有完全居中,而需要向右移动一点。
你知道为什么它没有居中吗?我该怎么做才能解决这个问题?
答案1
换行符是一个空格。%
在后面加上一个\end{tikzpicture}
可以解决问题:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\begin{document}
\newcommand\addvmargin[1]{%
\node[fit=(current bounding box),inner ysep=#1,inner xsep=0]{};
}
\newcommand{\mysymbol}[1]{%
\begin{tikzpicture}[baseline=0]
\tikz \draw (2,0) node{#1} circle (2);
\addvmargin{1mm}
\end{tikzpicture}%
}
\begin{tabular}{|c|c|}
\hline Symbol 1 & Symbol 2 \\\hline
\mysymbol{foo} & \mysymbol{bar} \\\hline
\mysymbol{baz} & \mysymbol{foobar} \\\hline
\end{tabular}
\end{document}