
Предположим, что матрица ниже представляет собой матрицу размером n*n с nk элементами, равными 1, и остальными k элементами, равными 0. Я хочу добавить две верхние скобки над первой строкой, одну до всех 1, упоминающую nk, а другую до всех 0, упоминающую k.
Вот мой код:
\begin{bmatrix}
1 & 1 & \dots & 1 & 1 & 0 & 0 & \dots & 0 \\
0 & 1 & 1 & \dots & 1 & 1 & 0 & \dots & 0 \\
\vdots & \vdots & \ddots & \ddots & \ddots & \ddots & \ddots & \ddots & \vdots \\
0 & 0 & \dots & 0 & 1 & \dots & \dots & \dots & 1 \\
1 & 0 & \dots & 0 & 0 & 1 & \dots & \dots & 1 \\
1 & 1 & 0 & \dots & 0 & 0 & 1 & \dots & 1 \\
\vdots & \vdots & \ddots & \ddots & \ddots & \ddots & \ddots &\ddots & \vdots \\
1 & 1 & \dots & 1 & 0 & 0 & \dots & 0 & 1 \\
\end{bmatrix}
решение1
Добро пожаловать в TeX.SE!
- пожалуйста, всегда предоставляйте, если это возможно, небольшой, но полный документ (с вашей матрицей), который мы можем скомпилировать в том виде, в котором он есть
- Вашу проблему можно просто решить с помощью
nicematrix
пакета - используя его, вам нужно скомпилировать два или три раза, чтобы получить окончательный формат
\documentclass{article}
\usepackage{amsmath, nicematrix}
\begin{document}
\[
\begin{bNiceMatrix}
1 & 1 & & \dots & 1 & 1 & 0 & \dots & 0 \\
0 & 1 & 1 & \dots & 1 & 1 & 0 & \dots & 0 \\
\vdots & \vdots & \ddots & \ddots & \ddots & \ddots & \ddots & \ddots & \vdots \\
0 & 0 & \dots & 0 & 1 & \dots & \dots & \dots & 1 \\
1 & 0 & \dots & 0 & 0 & 1 & \dots & \dots & 1 \\
1 & 1 & 0 & \dots & 0 & 0 & 1 & \dots & 1 \\
\vdots & \vdots & \ddots & \ddots & \ddots & \ddots & \ddots & \ddots & \vdots \\
1 & 1 & \dots & 1 & 0 & 0 & \dots & 0 & 1 \\
\CodeAfter
\OverBrace[shorten,yshift=5pt]{1-1}{2-6}{1}
\OverBrace[shorten,yshift=5pt]{1-7}{2-9}{0}
\end{bNiceMatrix}
\]
\end{document}