![使 `\ddots` 在变换后的矩阵中看起来良好](https://linux22.com/image/246196/%E4%BD%BF%20%60%5Cddots%60%20%E5%9C%A8%E5%8F%98%E6%8D%A2%E5%90%8E%E7%9A%84%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E8%89%AF%E5%A5%BD.png)
我想要排版一个大矩阵:
\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}