Ich habe diesen Code
% !TeX encoding = UTF-8
\documentclass[utf8]{article}
\usepackage{multirow}
\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|l|c|c|}
\hline
& Weighting & Cost (\$) \\ \hline
\multirow{5}{*}{Material costs} & 0 & $[10000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[7500,\,10000[$ \\ \cline{2-3}
& 2.5 & $[5000,\,7500[$ \\ \cline{2-3}
& 3.75 & $[2500,\,5000[$ \\ \cline{2-3}
& 5 & $[0,2500[$ \\ \hline
\multirow{5}{*}{Labor costs} & 0 & $[40000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[30000,\,40000[$ \\ \cline{2-3}
& 2.5 & $[20000,\,30000[$ \\ \cline{2-3}
& 3.75 & $[10000,\,20000[$ \\ \cline{2-3}
& 5 & $[0,10000[$ \\
\hline
\end{tabular}
\caption{Scale for the cost of the project}
\label{tab:project_cost}
\end{table}
\end{document}
Es ergibt sich folgendes:
Wie Sie sehen, sind die Ränder in den Zellen viel zu klein. Man könnte sogar sagen, dass sie nicht vorhanden sind, sodass die Klammern ( [
) kaum zu erkennen sind.
Wie kann ich die Margen erhöhen?
Antwort1
In diesem Fall \arraystretch
genügt eine einfache Neudefinition.
% !TeX encoding = UTF-8
\documentclass[utf8]{article}
\usepackage{multirow}
\begin{document}
\begin{table}[htp]
\renewcommand\arraystretch{1.3}
\centering
\begin{tabular}{|l|c|c|}
\hline
& Weighting & Cost (\$) \\ \hline
\multirow{5}{*}{Material costs} & 0 & $[10000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[7500,\,10000[$ \\ \cline{2-3}
& 2.5 & $[5000,\,7500[$ \\ \cline{2-3}
& 3.75 & $[2500,\,5000[$ \\ \cline{2-3}
& 5 & $[0,2500[$ \\ \hline
\multirow{5}{*}{Labor costs} & 0 & $[40000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[30000,\,40000[$ \\ \cline{2-3}
& 2.5 & $[20000,\,30000[$ \\ \cline{2-3}
& 3.75 & $[10000,\,20000[$ \\ \cline{2-3}
& 5 & $[0,10000[$ \\
\hline
\end{tabular}
\caption{Scale for the cost of the project}
\label{tab:project_cost}
\end{table}
\end{document}
ORIGINALER ANSATZ
Ich habe gerade einer >{}
Spalte eine Direktive hinzugefügt, die ein hinzufügt, das oben und unten \strut
mit aufgefüllt wurde 2pt
. Erfordert array
ein Paket für die >
-Direktive-Funktionalität und stackengine
zum Auffüllen \strut
mit 2pt
.
Der OP stellte jedoch fest, dass dieser Ansatz in Kombination mit \multirow
dazu führt, dass die erste Spalte nicht vertikal zentriert ist.
% !TeX encoding = UTF-8
\documentclass[utf8]{article}
\usepackage{array,multirow,stackengine}
\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|>{\addstackgap[2pt]{\strut}}l|c|c|}
\hline
& Weighting & Cost (\$) \\ \hline
\multirow{5}{*}{Material costs} & 0 & $[10000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[7500,\,10000[$ \\ \cline{2-3}
& 2.5 & $[5000,\,7500[$ \\ \cline{2-3}
& 3.75 & $[2500,\,5000[$ \\ \cline{2-3}
& 5 & $[0,2500[$ \\ \hline
\multirow{5}{*}{Labor costs} & 0 & $[40000,\,\infty[$ \\ \cline{2-3}
& 1.25 & $[30000,\,40000[$ \\ \cline{2-3}
& 2.5 & $[20000,\,30000[$ \\ \cline{2-3}
& 3.75 & $[10000,\,20000[$ \\ \cline{2-3}
& 5 & $[0,10000[$ \\
\hline
\end{tabular}
\caption{Scale for the cost of the project}
\label{tab:project_cost}
\end{table}
\end{document}
Antwort2
Eine weitere Möglichkeit mit cellspace
, das eine minimale vertikale Polsterung für Zellen in Spalten mit Spezifizierern mit vorangestelltem Buchstaben definiert S
(oder C
wenn Sie laden siunitx
):
\documentclass[utf8]{article}
\usepackage{multirow}
\usepackage{amsmath}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{3pt}
\begin{document}
\begin{table}[htp]
\centering
\begin{tabular}{|l|>{$}Sc<{$}|>{$}Sc<{$}|}
\hline
& \text{Weighting} & \text{Cost (\$)} \\ \hline
\multirow{5}{*}[-12pt]{Material costs} & 0 & [10000, \infty[ \\ \cline{2-3}
& 1.25 & [7500, 10000[ \\ \cline{2-3}
& 2.5 & [5000, 7500[ \\ \cline{2-3}
& 3.75 & [2500, 5000[ \\ \cline{2-3}
& 5 & [0,2500[ \\ \hline
\multirow{5}{*}[-12pt]{Labor costs} & 0 & [40000, \infty[ \\ \cline{2-3}
& 1.25 & [30000, 40000[ \\ \cline{2-3}
& 2.5 & [20000, 30000[ \\ \cline{2-3}
& 3.75 & [10000, 20000[ \\ \cline{2-3}
& 5 & [0,10000[ \\
\hline
\end{tabular}
\caption{Scale for the cost of the project}
\label{tab:project_cost}
\end{table}
\end{document}