我正在使用 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}}
的列中不起作用。p
m
b
X
钥匙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}