我想知道是否可以将矩阵中的零移动到红色的新位置,像这样?:
这样是不是显得更加美观一些呢?
这是我目前的代码:
\documentclass[12pt]{report}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{amsmath,amsfonts,amssymb,amsthm, bm}
\newcommand\bigzero{\makebox(0,0){\text{\huge0}}}
\begin{document}
\[
\begin{blockarray}{cccccc}
&[1-5] &[5-10]& [11-15]& \cdots & [195-200] \\
\begin{block}{c(ccccc)}
1 & 1 & & & & \\
2 & & 1 & & &\bigzero \\
3 & & & 1 & & \\
\vdots & \bigzero & & & \ddots & \\
40 & & & & & 1 \\
\end{block}
\end{blockarray}
\]
\end{document}
如果我\bigzero
按照当前对齐方式移动,如下所示:
我仍然认为外观“不太美观”。有没有办法手动调整零的准确位置?
谢谢!
答案1
用于\raisebox
调整零的高度。您的示例
\documentclass[12pt]{report}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{amsmath,amsfonts,amssymb,amsthm, bm}
\newcommand\bigzero{\makebox(0,0){\text{\huge0}}}
\begin{document}
\[
\begin{blockarray}{cccccc}
&[1-5] &[5-10]& [11-15]& \cdots & [195-200] \\
\begin{block}{c(ccccc)}
1 & 1 & & & & \\
2 & & 1 & & \bigzero & \\
3 & & \raisebox{-2ex}[0ex][0ex]{\bigzero} & 1 & & \\
\vdots & & & & \ddots & \\
40 & & & & & 1 \\
\end{block}
\end{blockarray}
\]
\end{document}
答案2
我认为,右上角的一列向左留出间距\quad
,左下角的一列向右向上抬起,\multirow
看起来很像你的例子。
\documentclass[12pt]{report}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{amsmath,amsfonts,amssymb,amsthm, bm}
\newcommand\bigzero{\makebox(0,0){\text{\huge0}}}
\usepackage{multirow}
\begin{document}
\[
\begin{blockarray}{cccccc}
&[1-5] &[5-10]& [11-15]& \cdots & [195-200] \\
\begin{block}{c(ccccc)}
1 & 1 & & & & \\
2 & & 1 & & \quad\bigzero & \\
3 & & & 1 & & \\
\vdots & & \multirow{-2}*{\bigzero} & & \ddots & \\
40 & & & & & 1 \\
\end{block}
\end{blockarray}
\]
\end{document}