在多列表格中,有没有办法只将特定列(而不是整个列)中的部分文本更改为粗体或斜体?

在多列表格中,有没有办法只将特定列(而不是整个列)中的部分文本更改为粗体或斜体?

请看下表。第二列中的部分文本是斜体,并且文本被拆分以适合列宽。

这是我正在处理的表。

当使用以下代码时,它会生成一个表格,其中的文本可以被格式化,但是表格会超出页面边界。

\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}

在序言中我添加了两个包:makecellmultirow,重新定义\thead宏,使列标题为粗体。对​​于表中的某些词我使用textbf{...}

相关内容