我遇到了问题\backslashbox
。从图片中可以看出,它很丑陋,找不到更好的词来形容。我想把行高调小一点,以强制斜线框也变小。我试过使用\arraystretch
,但这并没有影响斜线框。我有什么办法能让它在使用时看起来更美观\backslashbox
?
以下是代码片段:
\documentclass[11pt]{article}
\usepackage{setspace}
\doublespacing
\usepackage{array}
\usepackage{slashbox}
\begin{document}
\begin{equation}
\mbox D^{\frac 1 2}_{mm^\prime}=\begin{array}{r | r r}
\mbox{\backslashbox{$m$\kern-1em}{\kern-1em$m^{\prime\prime}$}}& \frac 1 2 & -\frac 1 2 \\ \hline
\frac 1 2 & a & b \\
-\frac 1 2 & c & d
\end{array}
\end{equation}
\end{document}
答案1
我想到了一个适合你特定论点的方法。然后,为了尝试让它适用于\bsbox
(反斜杠框)中的其他内容,我在 MWE 中引入了\refA
and概念,其中我将论点放在与最初有效大小相同的框中。\refB
\bsbox
\documentclass[11pt]{article}
\usepackage{setspace}
\doublespacing
\usepackage{array}
%\usepackage{slashbox}
\usepackage{stackengine}[2013-09-11]
\usepackage{graphicx}
\def\refA{$m$}
\def\refB{$m^{\prime\prime}$}
\newcommand\bsbox[2]{%
\raisebox{-1pt}{%
\stackinset{c}{}{c}{}{\rotatebox{45}{\rule[-.5em]{.2pt}{3em}}}{%
\def\stacktype{L}%
\setstackgap{L}{.5\baselineskip}%
\kern-1pt\makebox[\widthof{\refA}][r]{#1}\stackon{}{\smash{\makebox[\widthof{\refB}]{#2}}}\kern1pt%
}%
\kern-5.5pt}%
}
\begin{document}
\begin{equation}
\mbox D^{\frac 1 2}_{mm^\prime}=\begin{array}{r | r r}
\mbox{\normalsize\bsbox{$m$}{$m^{\prime\prime}$}}& \frac 1 2 & -\frac 1 2 \\ \hline
\frac 1 2 & a & b \\
-\frac 1 2 & c & d
\end{array}
\end{equation}
\begin{equation}
\mbox D^{\frac 1 2}_{mm^\prime}=\begin{array}{r | r r}
\mbox{\normalsize\bsbox{$m^2$}{$m_{2}$}}& \frac 1 2 & -\frac 1 2 \\ \hline
\frac 1 2 & a & b \\
-\frac 1 2 & c & d
\end{array}
\end{equation}
\end{document}
答案2
这里有一些想法,但我不确定这是否是您想要的输出。
\documentclass[11pt]{article}
\usepackage{array}
\usepackage{diagbox}
\begin{document}
\begin{equation}
\mbox D^{\frac 1 2}_{mm^\prime}=\begin{array}{r | r r c}
\mbox{\backslashbox[11mm]{\scriptsize$m$}{\scriptsize$m^{\prime\prime}$}}& \frac 1 2 & - \frac 1 2 & \\ \hline
\rule{0pt}{2.5ex}\frac 1 2 & a & b & \\[1ex]
-\frac 1 2 & c & d &
\end{array}
\end{equation}
\end{document}
首先,我使用diagbox
包而不是,slashbox
因为由于许可证问题,slashbox
TeXLive 发行版中不再提供。我\scriptsize
在拆分单元格中使用了两个值,以减少所需空间和与线发生碰撞的风险。我还指定了线的长度,backslashbox
使其尽可能小而不会发生任何碰撞。最后,我删除了包setspace
和doublespacing
设置,以消除它在第一行中引起的额外空间。为了保持整洁,我为以下行添加了一些额外空间。