更改文本格式后表格中出现附加行

更改文本格式后表格中出现附加行

我正在尝试在 tikz 节点内创建一个具有多列且多列宽度固定的表。

我的代码如下:

\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\usepackage{tikz}

\newcommand{\mystyle}[1]{\bfseries\sffamily\color{black}#1}

\begin{document}
\begin{tikzpicture}
    \node[draw] (K2) {
        \setlength{\tabcolsep}{2pt}%
        \begin{tabular}{rclr}
            \multicolumn{3}{>{\centering\arraybackslash}p{4.2cm}}{Toptext} & text\\%
            \multicolumn{3}{>{\centering\arraybackslash}p{4.2cm}}{\mystyle{Long Text which should be break in two lines}} &% 
        \end{tabular}
        \setlength{\tabcolsep}{6pt}%
    };
\end{tikzpicture}
\end{document}

如果我删除样式,一切看起来都很好。当包含样式时,间距变得奇怪,样式中包含的文本前会添加一行。

答案1

添加时应非常小心\color;在这种情况下,添加的时间不对。请确保在发布之前启动段落模式\color{black}

\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\usepackage{tikz}

\newcommand{\mystyle}{\leavevmode\bfseries\sffamily\color{black}}

\begin{document}
\begin{tikzpicture}
\node[draw] (K2) {%
  \setlength{\tabcolsep}{2pt}%
  \begin{tabular}{rclr}
  \multicolumn{3}{>{\centering\arraybackslash}p{4.2cm}}{Toptext} & text\\
  \multicolumn{3}{>{\centering\arraybackslash}p{4.2cm}}{%
     \mystyle Long Text which should be break in two lines} &
  \end{tabular}
};
\end{tikzpicture}
\end{document}

请注意,您不需要\mystyle使用参数进行定义(也不需要括号)。还要注意行尾。

也没有理由重置\tabcolsep,因为节点的内容是按组排版的。

在此处输入图片描述

相关内容