我有这个MWE:
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{5pt}
\setlength{\cellspacebottomlimit}{5pt}
\usepackage{siunitx}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\begin{document}
\[
x = \left\{
\begin{array}{cc} % using {Ccc} instead of {cc} doesn't work
p\left(\ceil*{\frac{x}{y}}\right) & : 0 \\
r\left(\ceil*{\frac{x}{y}}\right) & : 1 \\
\end{array}
\right.
\]
\end{document}
我想要的只是在每个数组单元的顶部和底部进行一些对称填充。 cellspace 包带有math
答案中建议的选项这个问题似乎是一个干净的解决方案。但是,如果用\begin{array}{cc}
替换 以\begin{array}{Ccc}
使用 cellspace 包提供的最小单元格填充,则 MWE 会中断。(用\left(
和(
替换\right)
可以)
使其再次工作。)改用arraystretch
似乎会增加不对称填充(顶部比底部更多)。我如何(如果可能)让 cellspace 包在此示例中工作?如果这不可能,我还有什么其他选择?
答案1
我建议一种解决方法:使用cases
环境,然后\addlinespace
从booktabs
:
\documentclass[a4paper]{article}
\usepackage{mathtools}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{5pt}
\setlength{\cellspacebottomlimit}{5pt}
\usepackage{siunitx}
\usepackage{booktabs}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\begin{document}
\[
x =
\begin{cases}
p\left(\ceil*{\frac{x}{y}}\right) & : 0 \\ \addlinespace
r\left(\ceil*{\frac{x}{y}}\right) & : 1 \\
\end{cases}
\]
\end{document}
答案2
使用tblr
新 LaTeX3 包中的环境tabularray
,没有太多必要使用cellspace
包。
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{tabularray}
\SetTblrInner{colsep=5pt} % default in array environmemt
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\begin{document}
\section{Array}
\[
x = \left\{
\begin{array}{cc}
p\left(\ceil*{\frac{x}{y}}\right) & : 0 \\
r\left(\ceil*{\frac{x}{y}}\right) & : 1 \\
\end{array}
\right.
\]
\section{Tabularray}
\[
x = \left\{
\begin{tblr}{cc}
p\left(\ceil*{\frac{x}{y}}\right) & : 0 \\
r\left(\ceil*{\frac{x}{y}}\right) & : 1 \\
\end{tblr}
\right.
\]
\end{document}
答案3
通过{NiceArray}
及其nicematrix
键cell-space-limits
,您可以直接获得预期的输出。
\documentclass[a4paper]{article}
\usepackage{mathtools}
\usepackage{nicematrix}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\begin{document}
\[
x = \left\{
\begin{NiceArray}{cc}[cell-space-limits=5pt]
p\left(\ceil*{\frac{x}{y}}\right) & : 0 \\
r\left(\ceil*{\frac{x}{y}}\right) & : 1 \\
\end{NiceArray}
\right.
\]
\end{document}