我想要排版一个大矩阵:
\addtocounter{MaxMatrixCols}{8}
\begin{pmatrix}
1\\
&\ddots\\
& &1\\
& & &0& & & &1& & &\\
& & & &1& & & & & &\\
& & & & &\ddots& & & & &\\
& & & & & &1& & & &\\
& & &1& & & &0& & &\\
& & & & & & & &1& &\\
& & & & & & & & &\ddots&\\
& & & & & & & & & &1
\end{pmatrix}
我必须进行更改\arraycolsep
以适合纸张宽度:
\setlength\arraycolsep{3pt}
然后\ddots
矩阵看起来有点丑陋:
所以我改变了\arraystretch
\renewcommand\arraystretch{0.8}
点都太低了,而且没有明显的改善:
答案1
您可以使用graphicx
程序包中的命令来旋转和提升点,例如\rotatebox
和\raisebox
。为其定义一个宏,最好也为值定义一个宏。这样您就可以在必要时轻松调整它。
\documentclass{article}
\usepackage{amsmath}
\setlength\arraycolsep{3pt}
\usepackage{graphicx}
\newcommand{\dotsangle}{-12}
\newcommand{\dotsxshift}{.2ex}
\newcommand{\dotsyshift}{1ex}
\newcommand{\rdots}{\hspace{\dotsxshift}%
\raisebox{\dotsyshift}{\rotatebox{\dotsangle}{$\ddots$}}}
\begin{document}
\addtocounter{MaxMatrixCols}{8}
\[
\begin{pmatrix}
1\\
&\rdots\\
& &1\\
& & &0& & & &1& & &\\
& & & &1& & & & & &\\
& & & & &\rdots& & & & &\\
& & & & & &1& & & &\\
& & &1& & & &0& & &\\
& & & & & & & &1& &\\
& & & & & & & & &\rdots&\\
& & & & & & & & & &1
\end{pmatrix}
\]
\end{document}