NiceTabular 的垂直规则

NiceTabular 的垂直规则

我正在尝试使用包绘制一条粗细为 1pt 的垂直线nicematrix,但出现编译错误...欢迎任何帮助。这是我的代码

\documentclass{report}
\usepackage{nicematrix}


\begin{document}
\begin{center}
\NiceMatrixOptions{custom-line ={letter =I,width = 1 pt}}
\setlength{\arrayrulewidth}{1pt}
\begin{NiceTabular}{cIcc}
   $A$      & $1$   &    $2$        \\ \hline
   $B$      & $3$   &    $3$     
\end{NiceTabular}
\end{center}
\end{document}

谢谢。CW

答案1

可以通过在和键tikz中设置行来避免编译错误。custom-line Iline width

然后使用该键total-width为新列/规则保留空间。

b

(与 nicematrix.sty 2022/03/11 v6.8 合作)

\documentclass{report}
\usepackage{nicematrix}
\usepackage{tikz}% added <<<<<<<<<<<<

\begin{document}
\begin{center}
    
\NiceMatrixOptions
{
    custom-line =
    {letter = I ,
    tikz = {line width=5pt, red },
    total-width=5pt 
    },  % changed <<<<<<
}
        \setlength{\arrayrulewidth}{1pt}
        \begin{NiceTabular}{cIcc}
            $A$      & $1$   &    $2$        \\ \hline
            $B$      & $3$   &    $3$     
        \end{NiceTabular}
\end{center}
\end{document}

从注释代码中

仅当使用 tikz 键时才必须使用 total-width 键。使用时,键 total-width 指定规则的宽度:它将用于保留空间(在数组的前导码中或在水平规则的命令中)。

答案2

下面我重现了一些例子CTAN——nicematrix做了一些改动。

该命令custom-line出现在

  • 5.6 自定义规则命令

其中给定的示例以 开头:\begin{NiceTabular}{lcIcIc}[custom-line = {letter=I, color=blue}]并且序列中还有另一个示例以TikZ和 开头\NiceMatrixOptions。不幸的是,这两个示例都给了我以下错误消息:Package nicematrix Error: The key 'custom-line' is unknown for the(nicematrix) environment {NiceTabular}. ...cIc}[custom-line = {letter=I, color=blue}]

但是,还有一种方法可以解决这个问题。章节:

  • 5 规则
    • 5.2 规则的粗细和颜色
    • 5.3.2 键 hvlines 和 hvlines-except-borders

当前的命令rules/colorrules/width可能很有用,但并不完全是新的,custom-line您可以为整个文档定义并在需要的地方使用它。

MWE 跟随

\documentclass{article}
\usepackage{nicematrix}

\begin{document}
\begin{NiceTabular}{c|c|c}[rules/color=blue,rules/width=3pt]
  \hline
   rose  & tulipe &   lys    \\
   arum  &  iris  & violette \\
  muguet & dahlia &  souci   \\
  \hline
\end{NiceTabular}

\setlength{\arrayrulewidth}{1pt}
\begin{NiceTabular}{cccc}[hvlines,rules/color=green!50!black,rules/width=4pt]
  rose & tulipe & marguerite & dahlia \\
  violette & \Block[draw=red]{2-2}{\LARGE fleurs} & & souci \\
  pervenche & & & lys \\
  arum & iris & jacinthe & muguet
\end{NiceTabular}
\end{document}

在此处输入图片描述

答案3

与 Simon Dispa 的回答 (+1) 略有不同:

\documentclass[border=3.14152, varwidth]{standalone}
\usepackage{nicematrix,tikz}
\usetikzlibrary{decorations.pathmorphing}
\NiceMatrixOptions
{custom-line = {letter = I,
                tikz = {},   % <---
                width = 2mm} % <---
}


\begin{document}
\[
\setlength{\arrayrulewidth}{1pt}
\begin{NiceTabular}{cIcc}
   A      & 1   &    2        \\ \hline
   B      & 3   &    3
\end{NiceTabular}
\]
\end{document}

在此处输入图片描述

答案4

您的代码中有一些编辑:

\documentclass{report}
\usepackage{nicematrix}


\begin{document}
    \begin{center}
%   \NiceMatrixOptions{custom-line ={letter =I,width = 1 pt}}
        \setlength{\arrayrulewidth}{1pt}
        \begin{NiceTabular}{c|cc} %<-- changed
            $A$      & $1$   &    $2$        \\ \hline
            $B$      & $3$   &    $3$     
        \end{NiceTabular}
    \end{center}
\end{document}

输出:

在此处输入图片描述

相关内容