更改特定行的字体表格

更改特定行的字体表格

我正在使用 tabular 在 latex 中创建表格。您可以在下面看到我的作品:

在此我需要将第二行的字体更改为 Courier 字体。

我该如何实现这一点?我不想更改其余行的字体,特别是标题。

谢谢!

我的工作:

\documentclass{article}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{color, colortbl}
\begin{document}

\begin{table}[h]
    \centering
    \small
    \begin{tabular}{|c|c|l|l|}
        \hline 
        \rowcolor[HTML]{CACFD2} 
        \textbf{Header 1} & \textbf{Header 2} & \textbf{Header 3} \\ \hline 
        \multirow{2}{*}{A}  & Col2 & ABCDE (Row1) \\ \cline{2-3}
        & Col2 & ABCDE (Row2) \\    \hline 
        B                   & Col2 & ABCDE (Row3)\\ \hline 
    \end{tabular}
\end{table}

\end{document}

在行级添加\texttt无效。见下文

\documentclass{article}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{color, colortbl}
\begin{document}

\begin{table}[h]
    \centering
    \small
    \begin{tabular}{|c|c|l|l|}
        \hline 
        \rowcolor[HTML]{CACFD2} 
        \textbf{Header 1} & \textbf{Header 2} & \textbf{Header 3} \\ \hline 
        \texttt{\multirow{2}{*}{A}  & Col2 & ABCDE (Row1)} \\ \cline{2-3}
        \texttt{\& Col2 & ABCDE (Row2)} \\    \hline 
        \texttt{\B                   & Col2 & ABCDE (Row3)}\\ \hline 
    \end{tabular}
\end{table}

\结束{文档}

\texttt在每个细胞层面上的添加都有效。

\documentclass{article}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{color, colortbl}
\begin{document}

\begin{table}[h]
    \centering
    \small
    \begin{tabular}{|c|c|l|l|}
        \hline 
        \rowcolor[HTML]{CACFD2} 
        \textbf{Header 1} & \textbf{Header 2} & \textbf{Header 3} \\ \hline 
        \multirow{2}{*}{\texttt{A}}  & \texttt{Col2} & \texttt{ABCDE (Row1)} \\ \cline{2-3}
        & \texttt{Col2} & \texttt{ABCDE (Row2)} \\    \hline 
        \texttt{B}                   & \texttt{Col2} & \texttt{ABCDE (Row3)}\\ \hline 
    \end{tabular}
\end{table}

\结束{文档}

输出

在此处输入图片描述

答案1

只需\texttt在每个单元格周围单独使用。表格单元格是一个组,{...}因此没有自然的方法可以在一行中的第一个单元格中开始字体更改并使其持续整行。

答案2

使用{NiceTabular}of nicematrix,您可以使用命令\RowStyle来指定当前行的格式说明。

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}

\begin{table}[h]
\centering
\small
\begin{NiceTabular}{ccl}[hvlines,colortbl-like]
    \rowcolor[HTML]{CACFD2} 
    \RowStyle{\bfseries}
    Header 1        & Header 2 & Header 3     \\ 
    \RowStyle[nb-rows=2]{\ttfamily}
    \Block{2-1}{A}  & Col2     & ABCDE (Row1) \\ 
                    & Col2     & ABCDE (Row2) \\  
    \RowStyle[color=blue]{\itshape}
    B               & Col2     & ABCDE (Row3) \\ 
\end{NiceTabular}
\end{table}

\end{document}

最好写成\RowStyle[color=blue]{\itshape}而不是因为后者在、或类型\RowStyle{\itshape\color{blue}}的列中不起作用。pmbX

钥匙hvlines绘制了所有规则。

上述代码的输出

答案3

基于 的解决方案tabularray。在具有多个单元格/行/列定义、多种字体和颜色等的表格中使用它有一个优势,因为它将定义与内容分开。

在此处输入图片描述

我知道有人要求只更改第二行。只需更改row{2-3}row{2}即可获得所需效果(请参阅documentation了解更多信息)。

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}

\definecolor{rowbg}{HTML}{CACFD2}


\begin{document}
\begin{table}[h]
    \centering

    \begin{tblr}{
            colspec = {ccl},
            row{1} = {bg=rowbg, font=\bfseries},
            row{2-3} = {font=\ttfamily},
            vlines, hlines,
        }
        Header 1 & Header 2 & Header 3 \\
        \SetCell[r=2]{font=\normalfont}
        A        & Col2     & ABCDE (Row1) \\
                 & Col2     & ABCDE (Row2) \\
        B        & Col2     & ABCDE (Row3) \\ 
    \end{tblr}
\end{table}
\end{document}

相关内容