数学数组中的对角线

数学数组中的对角线

我有一些数学模式的数组,例如下面的数组。我想要单元格中的对角线,类似于diagbox(diagbox 包)或diaghead(makecell 包)。但似乎diagboxdiaghead只在环境中有效tabular。当然,一种方法是使用tabular而不是,array但这需要$在每个单元格中放置一些。我正在寻找一个不那么繁琐的解决方案。

\documentclass{article}

\usepackage{diagbox}

\begin{document}

$$
\begin{array}{r|cccc}
%\diagbox{x}{y} 
& (0,0) & (0,1) & (1,0) & (1,1) \\ 
  \hline
(0,0) & \phi^{-1}  &  \frac{f_n}{f_{n-1}} - \phi^{-1} & 0  & \frac{f_{n+1}}{f_{n-1}} \\ 
(0,1) & f_{n}/f_{n-1} & 0 & f_{n+1}/f_{n-1} & 0 \\ 
(1,0) & \phi^{-1}  & \phi^{-2}  & 0 & 0 \\ 
(1,1) & 1 & 0 & 0 & 0 \\ 
\end{array} 
$$

\end{document}

答案1

只需封装\diagbox{x}{y}\hbox{},IE\hbox{\diagbox{x}{y}}。此外,您可以用 包围文本,以$...$确保文本处于数学模式,例如:\hbox{\diagbox{$x$}{$y$}}。题外话,您应该使用\[...\]而不是$$...$$(看看这里)。

输出

\documentclass{article}

\usepackage{diagbox}
\begin{document}
\noindent\ Without \$...\$
\[
    \begin{array}{r|cccc}
        \hbox{\diagbox{x}{y}} & (0,0) & (0,1) & (1,0) & (1,1) \\ \hline
        (0,0) & \phi^{-1}  &  \frac{f_n}{f_{n-1}} - \phi^{-1} & 0  & \frac{f_{n+1}}{f_{n-1}} \\ 
        (0,1) & f_{n}/f_{n-1} & 0 & f_{n+1}/f_{n-1} & 0 \\ 
        (1,0) & \phi^{-1}  & \phi^{-2}  & 0 & 0 \\ 
        (1,1) & 1 & 0 & 0 & 0 \\ 
    \end{array} 
\]
With \$...\$
\[
    \begin{array}{r|cccc}
        \hbox{\diagbox{$x$}{$y$}} & (0,0) & (0,1) & (1,0) & (1,1) \\ \hline
        (0,0) & \phi^{-1}  &  \frac{f_n}{f_{n-1}} - \phi^{-1} & 0  & \frac{f_{n+1}}{f_{n-1}} \\ 
        (0,1) & f_{n}/f_{n-1} & 0 & f_{n+1}/f_{n-1} & 0 \\ 
        (1,0) & \phi^{-1}  & \phi^{-2}  & 0 & 0 \\ 
        (1,1) & 1 & 0 & 0 & 0 \\ 
    \end{array} 
\]

\end{document}

答案2

一个更好的解决方案:由于 diagbox 总是使用 \tabcolsep 并且 \arraycolsep 可能有不同的值,我们需要这样做:

\newcommand\mydiagbox[2]{\hbox{\tabcolsep=\arraycolsep\diagbox{$#1$}{$#2$}}}

然后我们就可以\mydiagbox{X}{Y}在数组环境中使用。

答案3

该包在其所有环境中都nicematrix提供了自己的内置命令\diagbox{NiceTabular},,,等等。{NiceArray}{pNiceMatrix}

在这里,您可以使用{NiceArray}

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\[\renewcommand{\arraystretch}{1.4}
\begin{NiceArray}{r|cccc}
\diagbox{x}{y} 
& (0,0) & (0,1) & (1,0) & (1,1) \\ 
  \hline
(0,0) & \phi^{-1}  &  \frac{f_n}{f_{n-1}} - \phi^{-1} & 0  & \frac{f_{n+1}}{f_{n-1}} \\ 
(0,1) & f_{n}/f_{n-1} & 0 & f_{n+1}/f_{n-1} & 0 \\ 
(1,0) & \phi^{-1}  & \phi^{-2}  & 0 & 0 \\ 
(1,1) & 1 & 0 & 0 & 0 \\ 
\end{NiceArray}\]

\end{document}

上述代码的输出

相关内容