在单元格中添加了附加行

在单元格中添加了附加行

我追求的目的是蓝色行,白色字体。我目前的结果符合我的要求,但由于某种原因,在X环境单元格中增加了一行tabularx

当前结果

造成该间隙的原因是什么?如果我删除 ,该间隙就会消失rowstyle

编辑:第二张表是我有问题的表。第一张表与此问题无关。对此深表歉意。

\documentclass[a4paper, 11pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\usepackage[american]{babel}
\usepackage[american]{translator}
\usepackage{fontspec}
\setmainfont{Arial}
\setmathrm{Arial}
\setmathsf{Arial}
\setmathtt{Arial}
\usepackage{geometry}
\geometry{tmargin=10mm,bmargin=2.5in,lmargin=0.7in,rmargin=0.7in,includehead, headheight=20mm} %,showframe}
\usepackage{graphicx, tabularx, setspace, multirow, color, colortbl} 
\usepackage{array, xcolor}
\newcolumntype{?}{!{\vrule width 2pt}}
\renewcommand{\arraystretch}{1.5}
\definecolor{tblheadercol}{RGB}{39,64,139}
\def\zapcolorreset{\let\reset@color\relax\ignorespaces}
\def\colorrows#1{\noalign{\aftergroup\zapcolorreset#1}\ignorespaces}

\makeatletter

\newcommand*{\@rowstyle}{}

\newcommand*{\rowstyle}[1]{% sets the style of the next row
\gdef\@rowstyle{#1}%
\@rowstyle\ignorespaces%
}

\newcolumntype{=}{% resets the row style
>{\gdef\@rowstyle{}}%
}

\newcolumntype{+}{% adds the current row style to the next column
>{\@rowstyle}%
} 

\makeatother

\begin{document}
    \onehalfspacing

    \begin{tabularx}{\textwidth}{|l|l?l|X|}
        \hline 
        Beauftragt am$ \colon $& TT.MM.JJJJ& Projekt& XXX \\
        \hline
        Beauftragt für$ \colon $& Max Mustermann& \multirow{2}{*}{Titel}& 
        \multirow{2}{*}{XXX} \\
        \cline{1-2}
        Abgabetermin$ \colon $& TT.MM.JJJJ& &  \\
        \hline
    \end{tabularx} \\

    \vspace{2em}
    %\vspace{-1.625em}
    \begin{tabularx}{\textwidth}{|+l|+X|+l|}
        \hline %\rowcolor{tblheadercol} 
        \rowcolor{tblheadercol} \rowstyle{\color{white}} \textbf{1. Musskriterien}& \textbf{Beschreibung}& \textbf{Erledigt} \\
        \hline 
        \rowstyle{\color{black}} Hier& steht etwas& B \\ 
        \hline
    \end{tabularx}

\end{document} 

答案1

我不知道为什么会发生这种情况,但我可以提出一个基于以下内容的简单解决方案makecell

\documentclass[a4paper, 11pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\usepackage[american]{babel}
\usepackage[american]{translator}
\usepackage{fontspec}
\setmainfont{Arial}
\setmathrm{Arial}
\setmathsf{Arial}
\setmathtt{Arial}
\usepackage{geometry}
\geometry{tmargin=10mm,bmargin=2.5in,lmargin=0.7in,rmargin=0.7in,includehead, headheight=20mm} %,showframe}
\usepackage{graphicx, tabularx, setspace, multirow, color, colortbl}
\usepackage{array, xcolor}
\newcolumntype{?}{!{\vrule width 2pt}}
\renewcommand{\arraystretch}{1.5}
\definecolor{tblheadercol}{RGB}{39,64,139}
\def\zapcolorreset{\let\reset@color\relax\ignorespaces}
\def\colorrows#1{\noalign{\aftergroup\zapcolorreset#1}\ignorespaces}
\usepackage{makecell}

\begin{document}
    \onehalfspacing

    \begin{tabularx}{\textwidth}{|l|l?l|X|}
        \hline
        Beauftragt am$ \colon $& TT.MM.JJJJ& Projekt& XXX \\
        \hline
        Beauftragt für$ \colon $& Max Mustermann& \multirow{2}{*}{Titel}&
        \multirow{2}{*}{XXX} \\
        \cline{1-2}
        Abgabetermin$ \colon $& TT.MM.JJJJ& & \\
        \hline
    \end{tabularx} \\

    \vspace{2em}

    \renewcommand{\theadfont}{\normalsize\bfseries\color{white}}
    \begin{tabularx}{\textwidth}{|l|X|l|}
        \hline %\rowcolor{tblheadercol}
        \rowcolor{tblheadercol} \thead[l]{1. Musskriterien} & \thead[l]{\ Beschreibung} & \thead[l]{Erledigt} \\
        \hline Hier& steht etwas& B \\
        \hline
    \end{tabularx}

    \end{document} 

在此处输入图片描述

相关内容