我认为我的表格非常复杂,这就是为什么我在这里遇到一些问题。我使用嵌套表格,因为我在使用\multirow
and \cellcolor
/\rowcolor
命令时遇到了问题。然而现在的问题是\hline
无法到达外部表格的左侧和右侧。下图显示了问题:
我该如何解决这个问题?有人对这种表格有更好的解决方案吗?
这是代码:
\documentclass{article}
\usepackage{colortbl}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{booktabs}
\definecolor{Beige}{RGB}{219,212,192}
\definecolor{Table}{RGB}{246,244,239}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|p{0.4cm}|p{6.7cm}|p{1cm}|p{1cm}|p{1cm}|p{2cm}|}
\hline
\rowcolor{Beige}
\multicolumn{6}{|l|}{\textbf{B1 Eingabefelder}} \\ \hline
\rowcolor{Table}
Nr. & Beschreibung & \multicolumn{4}{l|}{
\begin{tabular}{@{}>{\centering\arraybackslash}m{1cm}|>{\centering\arraybackslash}m{1cm}|>{\centering\arraybackslash}m{1cm}|>{\centering\arraybackslash}m{2cm}@{}}
\multicolumn{4}{l}{Kommentare / Verhaltensweisen} \\ \hline
H & A & B & Schweregrad \\
\end{tabular}
} \\ \hline
~ & ~ & \multicolumn{4}{l|}{} \\ \hline
\end{tabular}
\end{table}
\end{document}
答案1
除了处理表格内容之外,我还必须对序言的可能内容做出一些有根据的猜测。下面的代码可能符合或不符合您文档的要求。
关于tabular
环境,我所做的更改可以总结如下:
注释掉一些不需要的指令
@{}
到处添加一些指令调整一些列的宽度
有一些指令,例如\phantom{.}
,我无法理解其目的,但没有注释掉,因为它们似乎没有危害。
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage[table,svgnames]{xcolor}
\usepackage{multirow}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|p{0.4cm}|p{6.7cm}|p{1cm}|p{1cm}|p{1cm}|p{2cm}|}
\hline
\rowcolor{Beige}
\multicolumn{6}{|l|}{\textbf{B1 Eingabefelder}} \\
\hline
%\rowcolor{Table}
Nr. & Beschreibung & \multicolumn{4}{@{}l@{}|}{
%\bgroup
\begin{tabular}{@{}>{\centering\arraybackslash}m{1cm}|
>{\centering\arraybackslash}m{1cm}|
>{\centering\arraybackslash}m{1cm}|
>{\centering\arraybackslash}m{2.5cm}@{}}
\multicolumn{4}{@{}c@{}}{Kommentare / Verhaltensweisen} \\
\hline
H & A & B & Schweregrad \\
\end{tabular}
%\egroup
} \\
\hline
\hiderowcolors
\multirow{7}{0.4cm}{ 1} &
\multirow{7}{6.7cm}{Der vordefinierte Text <Pflichtfeld> behindert die Nutzer bei der Eingabe von erforderlichen Daten wie z.B. Name, Kurzeichen und UserID beim Anlegen von Personen im System. Der Inhalt der betroffenen Eingabefelder wird nicht automatisch beim Fokussieren gelöscht. Dies wird durch den Nutzer z.B. durch Markieren manuell erledigt.} & \multicolumn{4}{l|}{\multirow{5}{5cm}{„Ich ärgere mich jedes Mal, dass da <Pflichtfeld> vorbelegt ist.“
\newline\newline
„Ganz blöd ist, dass ich das jetzt erst alles markieren muss.“ \phantom{.}}} \\
& & \multicolumn{4}{l|}{} \\
& & \multicolumn{4}{l|}{} \\
& & \multicolumn{4}{l|}{} \\
& & \multicolumn{4}{l|}{} \\
& & \multicolumn{4}{l|}{} \\ \cline{3-6}
& & \centering 6 & \centering 2 & \centering 3 & \centering\arraybackslash 6,57 \\
\hline
\showrowcolors
\end{tabular}
\end{table}
\end{document}