我正在努力正确地关闭下表(第 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{...}
array
X
tabularx
如果使用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}