答案1
这是一个使用tikzmark
库定义命令(使用可选参数可以控制垂直尺寸):
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\newcounter{mydiagm}
\newcommand\DiagMat[2][1]{
\stepcounter{mydiagm}
\begin{bmatrix}
\tikzmark{start-\themydiagm}\rule{1cm}{0pt}\\[#1\normalbaselineskip]\hfill\tikzmark{end-\themydiagm}
\end{bmatrix}
\tikz[remember picture,overlay]
\draw ([yshift=1ex]pic cs:start-\themydiagm) -- node[fill=white,inner sep=2pt] {$#2$} (pic cs:end-\themydiagm);%
}
\begin{document}
\begin{equation*}
\DiagMat{c^{2}}\frac{\partial C_{l}}{\partial C_{T}}
\end{equation*}
\begin{equation*}
\DiagMat[2]{ce}
\begin{bmatrix}
a \\ b \\ c \\ d
\end{bmatrix}
\end{equation*}
\end{document}
代码需要运行两到三次才能使规则到达最终位置。
答案2
\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
\newcommand{\mydiag}[1]{\left[%
\begin{array}{@{}c@{}c@{}c@{}}
\diagdown & & \\
& #1 & \\
& & \diagdown
\end{array}\right]
}
\begin{equation}
\mydiag{ce}
\end{equation}
\begin{equation}
\mydiag{c^2}
\end{equation}
\end{document}
在这种情况下,您可以使用一个\diagdown
符号。amssymb