请看下表。第二列中的部分文本是斜体,并且文本被拆分以适合列宽。
当使用以下代码时,它会生成一个表格,其中的文本可以被格式化,但是表格会超出页面边界。
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{0.7\textwidth}{llll}
\hline
\multirow{2}{*}{\textbf{S\#}} & \multicolumn{2}{c}{\textbf{Required Input}} & \multirow{2}{*}{\textbf{Output}} \\ \cline{2-3}
& \textbf{1-level} & \textbf{2-level} & \\ \hline
电子呼叫 (EC) & 车辆信息,例如类型和 ID、车辆位置、\ \textit{货运信息,例如类型和金额。} & 此处的任何输出。\ \hline \end{tabularx} \end{table}
参见图片2,即代码的截图:
答案1
环境tabularx
已被使用,只缺少列类型的用法X
。此外,似乎条目应该垂直居中,这可以通过重新定义来实现,\tabularxcolumn
以便在内部使用列类型m
而不是p
。此外,示例使用了包的行booktabs
。
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{multirow}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\caption{My caption}
\label{my-label}
\renewcommand*{\tabularxcolumn}[1]{m{#1}}
\begin{tabularx}{\linewidth}{
c
>{\raggedright}X
>{\raggedright}X
>{\raggedright\arraybackslash}X
}
\toprule
\multirow{2}{*}{\raisebox{-1ex}{\textbf{S\#}}}
&\multicolumn{2}{c}{\textbf{Required Input}}
& \multirow{2}{\linewidth}{%
\centering\raisebox{-1ex}{\textbf{Output}}} \\
\cmidrule{2-3}
& \textbf{1-level} & \textbf{2-level} & \\
\midrule
1
& Vehicle information, e.g., type and id, vehicle location,
\textit{freight information, e.g., type and amount.}
&
& Any output here \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
答案2
从您的(非完整代码)中我制作了以下 MWE:
\documentclass{article}
\usepackage{makecell,multirow,tabularx}
\newcolumntype{R}{>{\raggedright\arraybackslash}X}
\renewcommand\theadfont{\bfseries}
\begin{document}
\begin{table}[h]
\centering
\small
\caption{My caption}
\label{my-label}
\begin{tabularx}{\textwidth}{cRRR}
\hline
\multirowcell{2}{\thead{S\#}}
& \multicolumn{2}{c}{\thead{Required Input}}
& \multirowcell{2}{\thead{Output}} \\
\cline{2-3}
& \thead{1-level} & \thead{2-level} & \\
\hline
1 & \itshape
\textbf{vehicle information},
eg. type and id,\newline
\textbf{freight information},
eg., type and output
& & Any output here \\
\hline
\end{tabularx}
\end{table}
\end{document}
在序言中我添加了两个包:makecell
和multirow
,重新定义\thead
宏,使列标题为粗体。对于表中的某些词我使用textbf{...}
。