我正在尝试注释以下一般西尔维斯特矩阵
右侧括号内标明第一个块为“m 行”,第二个块为“n 行”。我尝试使用以下代码来实现这一点
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{decorations.pathreplacing,calc,fit,backgrounds}
\begin{document}
\pgfmathsetmacro{\myscale}{2}
\pgfkeys{tikz/mymatrixbrace/.style={decorate,thick}}
%\[
%R_{f,g} =
\begin{tikzpicture}
\matrix[matrix of math nodes,
left delimiter=(,
right delimiter=),
%nodes={draw},
row sep=10pt,
column sep=10pt] (m) {%
a_0 & a_1 && & && a_{n-1} & a_n & && \null \\
& && & && & & && \\
& && & && & & && \\
& && a_0 & a_1 && & & &a_{n-1}& a_{n} \\
b_0 & b_1 && b_{m-1} & b_m && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
\null & && & && b_{0} & b_{1} & &b_{m-1}& b_{m} \\
};
\draw[] (m-1-1) -- (m-4-4) -- cycle;
\draw[] (m-4-11) -- (m-1-8) -- cycle;
\draw[] (m-5-1) -- (m-13-7) -- cycle;
\draw[] (m-13-11) -- (m-5-5) -- cycle;
\draw[dashed] (m-1-7) -- (m-13-7) -- cycle;
\draw[dotted] (m-1-2) -- (m-1-7) -- cycle;
\draw[dotted] (m-4-5) -- (m-4-10) -- cycle;
\draw[dotted] (m-5-2) -- (m-5-4) -- cycle;
\draw[dotted] (m-13-8) -- (m-13-10) -- cycle;
% \begin{scope}[every node/.append style={scale=\myscale,transform shape},very thick]
% \draw[mymatrixbrace] (m.east|-m-1-1.north east) -- node[right=2pt] {$m$ lines} (m.east|-m-4-1.south east);
% \draw[mymatrixbrace] (m.east|-m-5-1.north east) -- node[right=2pt] {$n$ lines} (m.east|-m-13-1.south east);
% \end{scope}
\end{tikzpicture}
%\]
\end{document}
(注释代码行被注释掉),部分代码来自这里,但我在使它工作时遇到了问题。
答案1
我修改了你的距离;我认为矩阵元素之间最好有相对间隔距离。我添加了baseline=0pt
让矩阵在方程中正确对齐以及括号的修饰。
代码
\documentclass[11pt, margin=1cm]{standalone} %{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{decorations.pathreplacing, calc, fit, backgrounds}
\begin{document}
$
R_{f,g} =
\begin{tikzpicture}[baseline=0pt]
\matrix[matrix of math nodes,
left delimiter=(,
right delimiter=),
% nodes={draw},
row sep=1.25ex,
column sep=2ex,
nodes in empty cells] (m) {%
a_0 & a_1 && & && a_{n-1} & a_n & && \null \\
& && & && & & && \\
& && & && & & && \\
& && a_0 & a_1 && & & &a_{n-1}& a_{n} \\
b_0 & b_1 && b_{m-1} & b_m && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
& && & && & & && \\
\null
& && & && b_{0} & b_{1} & &b_{m-1}& b_{m} \\
};
\draw[] (m-1-1) -- (m-4-4);
\draw[] (m-4-11) -- (m-1-8);
\draw[] (m-5-1) -- (m-13-7);
\draw[] (m-13-11) -- (m-5-5);
\draw[dashed] (m-1-7) -- (m-13-7);
\draw[dotted] (m-1-2) -- (m-1-7);
\draw[dotted] (m-4-5) -- (m-4-10);
\draw[dotted] (m-5-2) -- (m-5-4);
\draw[dotted] (m-13-8) -- (m-13-10);
\draw[decorate, decoration={brace, amplitude=1ex, raise=3em}]
(m-1-11.north) -- (m-4-11.south)
node[text=black, midway, right, xshift=3.5em, scale=.9]
{$m$ rows};
\draw[decorate, decoration={brace, amplitude=1ex, raise=3em}]
(m-5-11.north) -- (m-13-11.south)
node[text=black, midway, right, xshift=3.5em, scale=.9]
{$n$ rows};
\end{tikzpicture}
$
\end{document}