我不明白为什么我不能将这个 tabularray 环境中的标题行设为小写(似乎在我添加 后立即发生row{2} = {font = \bfseries, cmd = \textrm},
,但我无法通过添加 来覆盖它row{1} = {cmd = \textsc},
。
我只是知道我正在做一些愚蠢的事情......特别是因为如果不包含该包,我实际上无法正确编译它pythontex
......这对我来说毫无意义。
\documentclass{article}
\usepackage{pythontex}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[margin = 0.5in]{geometry}
\usepackage{tabularray}
\begin{document}
% timeperiod calculations
\begin{tblr}[T]{
colspec = {Q[c,m] *{4}{Q[c,m,$]}},
column{1} = {2-Z}{font = \bfseries},
row{odd} = {azure9},
row{2} = {font = \bfseries, cmd = \textrm},
hline{1,Z} = {2pt},
}
% header
\SetCell[c=5]{c} \textsc{Why am I not Small Caps?} \\
\hline
&
who &
cares &
not &
me \\
tab &
\mathrm{10\ \frac{units}{time}} &
\mathrm{7\ units} &
\mathrm{1\ unit \cdot 2\ units} &
\mathrm{10\ unit^2} \\
\end{tblr}
\end{document}
编辑:澄清一下,我知道 Computer Modern 字体中没有粗体小写字母。这就是为什么我尝试不将粗体应用于第一行。
据我了解,我应该将第二行开始的第一列设为粗体,并将第二行全部设为粗体。我不明白应该在哪里将标题设为粗体。
使用\normalfont \textsc{Why am I not Small Caps?}
可以使其正确显示;我只是不明白为什么。
编辑 #2:所以 @Clara 的评论确实有效;但我想我可能仍然需要了解发生了什么。因为,我认为当我尝试执行这些复杂的格式化前言时,它可能与我在其他地方遇到的错误相同。
答案1
答案2
正如@DavidCarlisle 在他的回答,Computer Modern 文本字体系列不包含粗体/小型大写字母组合。
补救措施?使用能够提供所需粗细/形状组合的字体。newtxtext
和newpxtext
包分别提供 Times Roman 和 Palatino 克隆,是具有此组合的字体包的示例。
\documentclass{article}
\usepackage{pythontex}
%\usepackage{amsmath} % amsmath is loaded automatically by mathtools
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[margin = 0.5in]{geometry}
\usepackage{tabularray}
\usepackage{newtxtext,newtxmath} % or: \usepackage{newpxtext,newpxmath}
\begin{document}
% timeperiod calculations
\begin{tblr}[T]{
colspec = {Q[c,m] *{4}{Q[c,m,$]}},
column{1} = {2-Z}{font = \bfseries},
row{odd} = {azure9},
row{2} = {font = \bfseries, cmd = \textrm},
hline{1,Z} = {2pt},
}
% header
\SetCell[c=5]{c} \textsc{Why am I not Small Caps?} \\
\hline
&
who &
cares &
not &
me \\
tab &
\mathrm{10\ \frac{units}{time}} &
\mathrm{7\ units} &
\mathrm{1\ unit \cdot 2\ units} &
\mathrm{10\ unit^2} \\
\end{tblr}
\end{document}