我使用 {unicode-math} 来控制 mathfont 的大小。但在这个表中存在水平对齐问题
当我把它放在$y$
的位置时$f(x)$
,没有对齐的问题!
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{tabular}{|C{1cm}||*{6}{C{0.8cm}|}}
\hline
$x$ & $-2$ & $-3$ & $1$ & $2$ & & \\
\hline
$f(x)$ & & & $3$ & $5$ & $9$ & $11$ \\
\hline
\end{tabular}
答案1
您可以使用以下方式轻松实现此目的tabularray
包裹。
\documentclass{standalone}
\usepackage{booktabs}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
\begin{tblr}{|Q[m,c,1cm,mode=imath]||*{6}{Q[m,c,0.8cm,mode=imath]|}}
\toprule
x & -2 & -3 & 1 & 2 & & \\
\midrule
f(x) & & & 3 & 5 & 9 & 11 \\
\bottomrule
\end{tblr}
\end{document}
\usepackage{booktabs}
:此行导入booktabs
包,它提供了创建具有改进的水平线的高质量表格的命令。
\UseTblrLibrary{booktabs}
:此行导入booktabs
来自的图书馆tabularray
,允许您在 tabularray 环境中使用 booktabs 命令。
Q[m,c,1cm,mode=imath]
表示单元格垂直居中 ( m
),水平居中 ( c
),宽度为 1cm。此外,正如@samcarter_is_at_topanswers.xyz,mode=imath
可以避免在每个单元格中重复 $...$。
答案2
标准array
包提供了固定宽度的列,不需要\arraybackslash
技巧。列类型为w
:
w{c}{<width>}
对于具有指定宽度的居中列w{l}{<width>}
对于具有指定宽度的左对齐列w{r}{<width>}
对于具有指定宽度的右对齐列
在您的情况下,表格可能是一个数学显示,您可以使用array
而不是tabular
,节省$
符号。
\documentclass{article}
\usepackage{array}
\begin{document}
\[
\begin{array}{|w{c}{1cm}||*{6}{w{c}{0.8cm}|}}
\hline
x & -2 & -3 & 1 & 2 & & \\
\hline
f(x) & & & 3 & 5 & 9 & 11 \\
\hline
\end{array}
\]
\end{document}
规则较少:
\begin{array}{w{c}{1cm}|*{6}{w{c}{0.8cm}}}
x & -2 & -3 & 1 & 2 & & \\
\hline
f(x) & & & 3 & 5 & 9 & 11 \\
\end{array}