表格边框保持打开状态

表格边框保持打开状态

我正在努力正确地关闭下表(第 2 列和第 3 列)的边框。我对 LateX 相对缺乏经验,我的搜索收效甚微。

\begin{table}[h!]
\begin{tabular}{|l|c|c|}
\hline 
   & Prozess & Thread \\
\hline
Die Zuteilung der CPU (f"ur das Scheduling erfolgt)  \\ 
an ... 
& \multirow{-2}{*} {x}  & \multirow{-2}{*}{-} \\
\hline
Der Adressraum ist zugeordnet an ... & x & x \\
\hline
CPU-Registersatz wird individuell/privat verwendet \\ 
von ...  & \multirow{-2}{*} x  & \multirow{-2}{*} x \\
\hline
Betriebsmittel (z.B. Dateien u."A.) werden vom BS zu- \\ geordnet an      
... & \multirow{-2}{*}{x}  &  \multirow{-2}{*}{x} \\
\hline
F"ur die Programmierung von Anwendungen muss die- \\ ses BS API-   
Funktionen anbieten zum Erzeugen/Beenden von ... & \multirow{-2}{*} x 
& \multirow{-2}{*} x \\
\hline
\end{tabular}
\caption{Prozesse \& Threads }\label{table_exp}
\end{table}

答案1

您实际上并不需要包...相反,您应该使用类似或来自包或来自包等multirow的列类型来使它复杂化并手动(在您的情况下是错误的)断线。p{...}m{...}arrayXtabularx

如果使用tabularx右列并希望内容垂直居中,则需要重新定义X列类型。请参阅以下代码:

\documentclass[11pt,a4paper,oneside]{book}
\usepackage[utf8]{inputenc}
\usepackage{array,tabularx}
\renewcommand{\tabularxcolumn}[1]{m{#1}}

\begin{document}
\begin{table}[h!]
    \begin{tabularx}{\textwidth}{|X|c|c|}
\hline
        & Prozess   &   Thread              \\
\hline
Die Zuteilung der CPU (für das Scheduling erfolgt) an ... 
an ...  &   x       &   -                   \\
\hline
Der Adressraum ist zugeordnet an ... 
        &   x       &   x                   \\
\hline
CPU-Registersatz wird individuell/privat verwendet von ...
        &   x       &   x                   \\
\hline
Betriebsmittel (z.B. Dateien u."A.) werden vom BS zugeordnet an
... 
        &   x       &   x                   \\
\hline
Für die Programmierung von Anwendungen muss dieses BS API-
Funktionen anbieten zum Erzeugen/Beenden von ... 
        &   x       &   x                   \\
\hline
    \end{tabularx}
\caption{Prozesse \& Threads }\label{table_exp}
\end{table}
    \end{document} 

这使:

在此处输入图片描述

答案2

关于表格的设计,我建议您删除所有垂直线,同时删除大多数水平线。使用包的线条绘制宏booktabs——此处:\toprule\midrule\bottomrule——来绘制剩余的三条线。我确信您的读者会喜欢表格的“开放”外观。采用这种方法的一个附带好处是,无需弄清楚为什么有些垂直线会显示间隙……

还请考虑使用tabularx环境并让 LaTeX 在第一列中找到最佳换行符。

可选:为了获得稍微时髦的外观,请考虑分别用 和 替换第 2 列和第 3 列中的x和符号。:-) 并且,用 替换单词/分隔(“斜线”)符号;这样,就可以允许在那些斜线符号处换行。-$\times$$-$/\slash

在此处输入图片描述

\documentclass[ngerman]{article}
\usepackage{babel,tabularx,ragged2e,booktabs}
\newcolumntype{L}{>{\RaggedRight}X}

\begin{document}
\begin{table}[h!]
\begin{tabularx}{\textwidth}{@{}Lcc@{}}
\toprule 
 & Prozess & Thread \\
\midrule
Die Zuteilung der CPU (f"ur das Scheduling erfolgt) an~\dots 
& $\times$  & $-$ \\
\addlinespace
Der Adressraum ist zugeordnet an~\dots & $\times$ & $\times$ \\
\addlinespace
CPU-Registersatz wird individuell\slash privat verwendet von~\dots  & $\times$  & $\times$ \\
\addlinespace
Betriebsmittel (z.B. Dateien u."A.) werden vom BS zugeordnet an~\dots  & $\times$  & $\times$ \\
\addlinespace
F"ur die Programmierung von Anwendungen muss dieses BS API-Funktionen anbieten zum Erzeugen\slash Beenden von~\dots & $\times$ &  $\times$ \\
\bottomrule
\end{tabularx}
\caption{Prozesse \& Threads }\label{table_exp}
\end{table}
\end{document}

相关内容