我刚刚开始学习 Latex,在尝试创建表格时遇到了一些问题。我确实把所有东西都准备好了,但排列得不是很好。下面是这张表的混乱代码,希望你不介意瑞典语 =)
\begin{table}[H]
\centering
\caption{Variabler}
\begin{tabular}{ll}
\multicolumn{2}{c}{Names and stuff} \\
$\text{Kön}= \begin{cases}1, & \text{om patienten är man}\\0,
& \text{om patienten är kvinna}\end{cases}$
& $\text{IVA}= \begin{cases}1, & \text{om patienten har IVA}\\0,
& \text{om patienten ej har IVA}\end{cases}$ \\
$\text{VRI}= \begin{cases}1, & \text{om patienten har VRI}\\0,
& \text{om patienten ej har VRI}\end{cases}$
& $\text{CVK}= \begin{cases}1, & \text{om patienten har CVK}\\0,
& \text{om patienten ej har CVK}\end{cases}$\\
$\text{Something longer}= \begin{cases}1, & \text{om patienten har something longer }\\0,
& \text{om patienten ej har something longer}\end{cases}$
& \\
& \\
& \\
&
\end{tabular}
\end{table}
答案1
一些建议和意见:(i)使用双列array
环境,而不是tabular
环境;这样,材料将自动处于数学模式。(ii)我不会将第五组和最后一cases
组与任何其他组对齐;相反;我会使用\multicolumn{2}{l}{...}
构造让最后一cases
组跨越环境的两列array
。(iii)加载booktabs
包并使用其\addlinespace
指令在组之间创建更多(垂直)空白cases
。(iv)为确保array
环境适合文本块,消除左侧和右侧空白填充,并减少环境两列之间的空白量array
。
\documentclass{article}
\usepackage{float,amsmath,caption,booktabs}
\captionsetup{skip=0.333\baselineskip}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\begin{table}[H]
\setlength\arraycolsep{2pt} % default value: 5pt
\centering
\caption{Variabler}
$\begin{array}{@{}ll@{}}
\multicolumn{2}{c}{\text{Names and stuff}} \\
\begin{aligned}
\text{Kön}&= \begin{cases}1,\text{ om patienten är man}\\
0,\text{ om patienten är kvinna} \end{cases} \\
\addlinespace
\text{VRI}&= \begin{cases}1,\text{ om patienten har VRI}\\
0,\text{ om patienten ej har VRI} \end{cases}
\end{aligned} &
\begin{aligned}
\text{IVA}&= \begin{cases}1,\text{ om patienten har IVA}\\
0,\text{ om patienten ej har IVA} \end{cases} \\
\addlinespace
\text{CVK}&= \begin{cases}1,\text{ om patienten har CVK}\\
0,\text{ om patienten ej har CVK} \end{cases}\\
\end{aligned}\\
\addlinespace
\multicolumn{2}{@{}l}{%
\text{Something longer}=
\begin{cases}1,\text{ om patienten har something longer }\\
0,\text{ om patienten ej har something longer} \end{cases}}
\end{array}$
\end{table}
\end{document}
答案2
像这样?
相关代码片段:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{array}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tabular}
\setlength\PreviewBorder{1em}
\begin{document}
\begin{tabular}{*{2}{>{$\displaystyle}l<{$}}}
\multicolumn{2}{c}{Names and stuff} \\
\begin{aligned}[t]
\text{Kön}
& = \begin{cases}
1, & \text{om patienten är man}\\
0, & \text{om patienten är kvinna}
\end{cases}\\
\text{VRI}
& = \begin{cases}
1, & \text{om patienten har VRI} \\
0, & \text{om patienten ej har VRI}
\end{cases}\\
\text{Something longer}
& = \begin{cases}
1, & \text{om patienten har something longer }\\
0, & \text{om patienten ej har something longer}
\end{cases}
\end{aligned}
&
\begin{aligned}[t]
\text{IVA}
& = \begin{cases}
1, & \text{om patienten har IVA}\\
0, & \text{om patienten ej har IVA}
\end{cases} \\
\text{CVK}
& = \begin{cases}
1, & \text{om patienten har CVK}\\
0, & \text{om patienten ej har CVK}
\end{cases}
\end{aligned}
\end{tabular}
\end{document}
答案3
在列规范中,您可以提供一个@{content}
规范来表示“content
在这些列之间插入”。在这里,我使用它在右对齐列和左对齐列之间插入等号:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{table}
\centering
\caption{Variabler}
\begin{tabular}{r@{${}={}$}lr@{${}={}$}l}
\multicolumn{2}{c}{Names and stuff} \\
$\text{Kön}$&$ \begin{cases}1, & \text{om patienten är man}\\0,
& \text{om patienten är kvinna}\end{cases}$
& $\text{IVA}$&$ \begin{cases}1, & \text{om patienten har IVA}\\0,
& \text{om patienten ej har IVA}\end{cases}$ \\
$\text{VRI}$&$ \begin{cases}1, & \text{om patienten har VRI}\\0,
& \text{om patienten ej har VRI}\end{cases}$
& $\text{CVK}$&$ \begin{cases}1, & \text{om patienten har CVK}\\0,
& \text{om patienten ej har CVK}\end{cases}$\\
$\text{Something longer}$&$ \begin{cases}1, & \text{om patienten har something longer }\\0,
& \text{om patienten ej har something longer}\end{cases}$
\end{tabular}
\end{table}
\end{document}
您可能想要看看提供的对齐数学材料的许多方法,amsmath
例如gather*
和环境。align*
aligned*