在数学模式下将表格的第一列加粗

在数学模式下将表格的第一列加粗

我想做的事:

  1. 在数学模式下创建一个表格,其中没有 $...$
  2. 加粗第一列

我做了什么:

  1. 使用>{$}c<{$}将表格置于数学模式;参见这个答案
  2. 下列的这个答案,我使用了包bm。但是,我未能将命令集成$\bm{}$>{$}c<{$}上面介绍的中。

我已经尝试过>{$\bm\{}c<{\}$}、、和。请注意>{$\bm}c<{$},可以>{\bm$}c<{$}>\bm{{$}c<{$}}>{$\it}c<{\it$}斜体第一列。但这不是我想要的。

\documentclass{article}
\usepackage{array}      % >{\command} and <{\command} for advanced column specification
\usepackage{bm}         % for bold math symbols

\begin{document}
  \begin{table}[!t]
    \renewcommand{\arraystretch}{1.5}
    \centering
    \begin{tabular}{|>{$}c<{$}|>{$}c<{$}|}
      \hline
      2 & \sin(x) \\ \hline
      3 & \log(x) \\ \hline
    \end{tabular}
  \end{table}
\end{document}

答案1

您可以使用内置的 LaTeX \boldmath

\documentclass{article}
\usepackage{array}      % >{\command} and <{\command} for advanced column specification

\begin{document}
  \begin{table}[!t]
    \renewcommand{\arraystretch}{1.5}
    \centering
    \begin{tabular}{|>{\boldmath$}c<{$}|>{\boldmath$}c<{$}|}
      \hline
      2 & \sin(x) \\ \hline
      3 & \log(x) \\ \hline
    \end{tabular}
  \end{table}
\end{document}

\bm{}和诸如此类的东西\it(一般不应该在 LaTeX 中使用,而是\itshape首选)之间的区别在于它\it是一个开关,可以使其后的所有文本变为斜体,而\bm{}仅对给定的参数进行操作。

答案2

如果列中的单元格始终以 结尾&,则可以使用以下带有分隔参数的技巧:

\documentclass{article}
\usepackage{amstext}
\usepackage{array}
\usepackage{bm}

\def\bmstart#1\bmstop{\bm{#1}}

\begin{document}
  \begin{table}[!t]
    \renewcommand{\arraystretch}{1.5}
    \centering
    \begin{tabular}{|>{$\bmstart}c<{\bmstop$}|>{$}c<{$}|}
      \hline
      2 & \sin(x) \\ \hline
      3 & \log(x) \\ \hline
    \end{tabular}
  \end{table}
\end{document}

结果

评论:

捕获的带有单元格内容的参数被 LaTeX 包裹在\ignorespaces和 中\unskip。根据单元格内容的进一步处理,它们将被删除为分隔参数。空格不会对数学模式造成影响。

相关内容