答案1
Dan 的回答非常好,教你如何从头开始构建这样的表格。但是,如果你有多个遵循相同模式的表格,最好为它们使用更高级别的语法。
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\parametertable}{mmm}
{
\seq_set_split:Nnn \l_ella_parametertable_parameters_seq { \\ } { #3 }
\begin{tabular}{|l|p{1in}|p{1in}|}
\hline
Name & \multicolumn{2}{l|}{#1} \\
\hline
Type & \multicolumn{2}{l|}{#2} \\
\hline
Parameters &
\seq_use:Nn \l_ella_parametertable_parameters_seq { \\ \cline{2-3} & }
\\
\hline
\end{tabular}
}
\ExplSyntaxOff
\begin{document}
\parametertable{Alice}{Client}{
Param1 & Value \\
Param2 & Value \\
Param3 & Value
}
\end{document}
当你决定这些规则毕竟很烦人,并且想要切换到时,这种方法的优势就会显现出来。booktabs
只需修改主命令的一些细节,全部您的类似表格将会改变格式。
\documentclass{article}
\usepackage{xparse}
\usepackage{booktabs}
\ExplSyntaxOn
\NewDocumentCommand{\parametertable}{mmm}
{
\seq_set_split:Nnn \l_ella_parametertable_parameters_seq { \\ } { #3 }
\begin{tabular}{lp{1in}p{1in}}
\toprule
Name & \multicolumn{2}{l}{#1} \\
\midrule
Type & \multicolumn{2}{l}{#2} \\
\midrule
Parameters &
\seq_use:Nn \l_ella_parametertable_parameters_seq { \\ & }
\\
\bottomrule
\end{tabular}
}
\ExplSyntaxOff
\begin{document}
\parametertable{Alice}{Client}{
Param1 & Value \\
Param2 & Value \\
Param3 & Value
}
\end{document}
请注意,文档代码没有发生任何改变。
答案2
使用\cline
你可以做类似这样的事情......
代码:
\documentclass{amsart}
\begin{document}
\begin{tabular}{|p{1in}|p{1in}|p{1in}|}
\hline
Name&\multicolumn{2}{|c|}{Alice}\\\hline
Type&\multicolumn{2}{|c|}{Client}\\\hline
Parameters&Param1&Value\\\cline{2-3}
&Param2&Value\\\cline{2-3}
&Param3&Value\\\hline
\end{tabular}
\end{document}
产量:
答案3
除了丹的精彩回答之外,还有一种完全不同的替代方案。
有一些网站可以让你以所见即所得的方式在线创建 Latex 表格,例如http://www.tablesgenerator.com/。它们是您在学习的同时完成任务的好方法,同时您可以检查他们生成的代码并学习如何自己做。
就您而言,您可以用最小的努力来产生以下结果。
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{|l|l|l|}
\hline
Name & \multicolumn{2}{l|}{Alice} \\ \hline
Type & \multicolumn{2}{l|}{Client} \\ \hline
Parameters & Param1 & Value \\ \cline{2-3}
& Param2 & Value \\ \cline{2-3}
& Param2 & Value \\ \hline
\end{tabular}
\end{table}
答案4
\documentclass[a4paper,12pt]{article}
\usepackage{multirow}
\newcommand{\mc}[2]{\multicolumn{#1}{c}{#2}}
\begin{document}
\begin{table}[]
\centering
\caption{My table}
\begin{tabular}{|l|l|l|l|l|}
\hline
Name & \mc{1}{Alice} &\\ \hline
Type & \mc{1}{Client} &\\ \hline
\multirow{3}{*}{Parameters} & Param1 & Value \\ \cline{2-3}
& Param2 & Value \\ \cline{2-3}
& Param3 & Value \\ \hline
\end{tabular}
\end{table}
\end{document}