\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-dots
和renew-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
,使其像nicematrix
env一样运行NiceMatrix
。- 总体效果是,使用
\ddots
inpmatrix
将获得连续的点(通常超过三个),根据点的空间。
nullify-dots
将连续点的高度和宽度都设置为零,这样它们就不会扩大整个矩阵。请参阅文档nicematrix
,第 9.1 节。- 在您的示例中,每个点仅给出六个点
\ddots
,否则您会得到更多。
- 在您的示例中,每个点仅给出六个点