您好,我有一个矩阵,我想在文件中多次使用,而不必一遍又一遍地重写它。有没有办法定义一个矩阵“对象”并在需要时使用它?
这是我想要做的一个最简单的例子:
\documentclass{article}
\use{amsmath}
\usepackage{tikz}
\begin{document}
% define the matrix
\begin{pmatrix}
\ast & \ast & 0 & \ast \\
\ast & \ast & \ast & 0 \\
0 & \ast & \ast & \ast \\
\ast & 0 &\ast & \ast
\end{pmatrix}
% end of matrix definition
\begin{equation} \label{eq:mat1}
% use the above defined matrix
\end{equation}
\end{document}
一般来说,如果有一种通用的方法来应用这种“对象”定义并在文档中需要时多次将它们用于各种对象(如图形、tikzpictures 等),那就太好了
答案1
通常的方法是通过 定义宏\newcommand
。
对于您tikzpicture
可以使用类似的技术或使用\pic
(下面的示例直接来自文档第 18 节)。
代码
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand*{\MyMatrix}{%
\begin{pmatrix}
\ast & \ast & 0 & \ast \\
\ast & \ast & \ast & 0 \\
0 & \ast & \ast & \ast \\
\ast & 0 &\ast & \ast
\end{pmatrix}}
% end of matrix definition
\tikzset{ seagull/.pic={
\draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
}
}
\begin{document}
\begin{equation} \label{eq:mat1}
\MyMatrix% use the above defined matrix
\end{equation}
\begin{tikzpicture}
\fill [fill=blue!20, ultra thick] (1,1)
-- (2,2) pic {seagull} -- (3,2) pic {seagull} -- (3,1) pic [rotate=30] {seagull} -- (2,1) pic [red] {seagull};
\end{tikzpicture}
\end{document}