为什么我的对角点变成了6个点而不是3个?

为什么我的对角点变成了6个点而不是3个?
\documentclass[12pt,letterpaper]{article}
\usepackage[margin=1.1in]{geometry}
\usepackage{amsmath}
\usepackage{mathdots}
\usepackage{amssymb}
\usepackage{fancyhdr}
\usepackage{pgfplots}
\usepackage{nicematrix}
\NiceMatrixOptions{transparent,nullify-dots}
\usepackage[utf8]{inputenc}
\pgfplotsset{compat=1.16}

\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}
$\begin{bmatrix}
d_1 &  \ast&  \ast&  \ast&  \ast&  \ast\\ 
 c_1&  d_2&   \ast&   \ast&   \ast&   \ast\\
 0&  c_2&  d_3&   \ast&   \ast&   \ast\\
 0  &   0&   c_3&   d_4   &   \ast&    \ast\\
 0   &0   &0   &\ddots   &\ddots   &\ast\\  
 0&0&0&0&c_{n-1}&d_n
\end{bmatrix}$
\end{document}

在此处输入图片描述

答案1

(我是的作者nicematrix)。

transparent我建议仅当拥有包含许多带虚线矩阵的整个文档并且想要快速使用提供的虚线时才使用该选项nicematrix(无需更改每个带虚线矩阵的文档代码)。

对于新文档,我建议仅在需要提供的功能之一时{pmatrix}使用amsmath和使用。{pNiceMatrix}nicematrix

的最新版本nicematrix提供了虚线以外的其他功能,这就是为什么我在文档中写道键transparent现已过时(该键的名称在的最新版本中不再有意义nicematrix)。但是,键renew-dotsrenew-matrix不是已经过时但仍可供感兴趣的用户使用......

答案2

让我延伸一下我的评论:

  • 问题的原因在于\NiceMatrixOptions{transparent,nullify-dots}您在序言中添加了什么,所以它会影响文档中的所有矩阵。
  • 你应该把它移动到需要的地方,这样它就只在本地起作用
  • 正如在 nice 中提到的@muzimuzhi Z 回答选项transparent在最新版本的nicematrix软件包中已经过时了。

MWE 演示了如何编写矩阵:

\documentclass[12pt,letterpaper]{article}
\usepackage[margin=1.1in]{geometry}
\usepackage{amsmath, amssymb}
\usepackage{mathdots}
%\usepackage{fancyhdr}
%\pagestyle{fancy}
%\renewcommand{\headrulewidth}{0pt}
%\renewcommand{\footrulewidth}{0pt}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{nicematrix}
%\NiceMatrixOptions{transparent,nullify-dots}


\begin{document}
Standard `bmatrix`, the final result is visible already after one compilation
\[
\begin{bmatrix}
d_1 &  \ast&  \ast&  \ast&  \ast&  \ast\\
 c_1&  d_2&   \ast&   \ast&   \ast&   \ast\\
 0&  c_2&  d_3&   \ast&   \ast&   \ast\\
 0  &   0&   c_3&   d_4   &   \ast&    \ast\\
 0   &0   &0   &\ddots   &\ddots   &\ast\\
 0&0&0&0&c_{n-1}&d_n
\end{bmatrix}
\]
Use of `bNiceMatrix`, the final result is visible already after two compilations
\[\NiceMatrixOptions{nullify-dots}
\begin{bNiceMatrix}
d_1 &  \ast&  \ast&  \ast&  \ast&  \ast\\
 c_1&  d_2&   \ast&   \ast&   \ast&   \ast\\
 0&  c_2&  d_3&   \ast&   \ast&   \ast\\
 0  &   0&   c_3&   d_4   &   \ast&    \ast\\
 0   &0   &0   &\Ddots   &\Ddots   &\ast\\
 0&0&0&0&c_{n-1}&d_n
\end{bNiceMatrix}
\]
\end{document}

在此处输入图片描述

答案3

所得到的正是transparent和的效果nullify-dots,两个nicematrix选项由 设置\NiceMatrixOptions{<options>}

  • transparent是一个过时的renew-dots选项。它是选项和的结合renew-matrix。请参阅文档nicemtrix,第 9.3 节。
    • renew-dots重新定义类似点命令\ddots(在nicematrix环境中使用),使其表现得像它们的nicematrix连续变体一样\Ddots
    • renew-matrix重新定义matrix环境,即每个其他矩阵 env 的基础,并使用类似 的分隔符pmatrix,使其像nicematrixenv一样运行NiceMatrix
    • 总体效果是,使用\ddotsinpmatrix将获得连续的点(通常超过三个),根据点的空间。
  • nullify-dots将连续点的高度和宽度都设置为零,这样它们就不会扩大整个矩阵。请参阅文档nicematrix,第 9.1 节。
    • 在您的示例中,每个点仅给出六个点\ddots,否则您会得到更多。

相关内容