我有一些数学模式的数组,例如下面的数组。我想要单元格中的对角线,类似于diagbox
(diagbox 包)或diaghead
(makecell 包)。但似乎diagbox
和diaghead
只在环境中有效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}