软件包 diagbox 毁了我的 \hline

软件包 diagbox 毁了我的 \hline

前言:

\documentclass{article}

\usepackage[a4paper, total={190mm, 280mm}]{geometry}

% Greek
\usepackage[LGR, T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[greek]{babel}
\usepackage{alphabeta}

% Images
\usepackage{graphicx}
\usepackage[justification=centering]{caption}
\usepackage{subcaption}
\graphicspath{ {./images/} }

% Math
\usepackage{float}
\usepackage{amsmath}

% Dashed Line
\usepackage{arydshln}


\usepackage{diagbox}

文档:

\begin{table}[H]
\centering
\def\arraystretch{1.5}
\setlength\tabcolsep{0.05\textwidth}
\begin{tabular}{|c|c|c|c|c|}
\hline
$\text{Α}_2\text{Α}_1\char`\\ \text{Β}_2\text{Β}_1$
   & 00  & 01  & 10  & 11  \\ \hline
00 & 000 & 001 & 010 & 011 \\ \hdashline
01 & 001 & 010 & 011 & 100 \\ \hdashline
10 & 010 & 011 & 100 & 101 \\ \hdashline
11 & 011 & 100 & 101 & 110 \\ \hline
\end{tabular}
\caption*{Table 3}
\end{table}

我想将左上角单元格 ( $\text{Α}_2\text{Α}_1\char\ \text{Β}_2\text{Β}_1$`) 拆分为带有对角线的三角形。当我使用 diagbox 包时,我的表格没有显示 \hline。为什么?

答案1

为了使用diagboxarydshln,请确保先加载diagbox

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{diagbox}
\usepackage{arydshln}

\begin{document}
\begin{table}
\centering
\def\arraystretch{1.5}
\setlength\tabcolsep{0.05\textwidth}
\begin{tabular}{|c|c|c|c|c|}
\hline
\diagbox{$\text{Α}_2\text{Α}_1$}{$\text{Β}_2\text{Β}_1$}
   & 00  & 01  & 10  & 11  \\ \hline
00 & 000 & 001 & 010 & 011 \\ \hdashline
01 & 001 & 010 & 011 & 100 \\ \hdashline
10 & 010 & 011 & 100 & 101 \\ \hdashline
11 & 011 & 100 & 101 & 110 \\ \hline
\end{tabular}
\end{table}    
\end{document}

另外,您也可以尝试使用nicematrix带有对角线分割单元格和虚线命令的软件包。(多次编译才能看到最终结果。)

\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}

\begin{document}
\begin{table}
\centering
\def\arraystretch{1.5}
\setlength\tabcolsep{0.05\textwidth}
\begin{NiceTabular}{|c|c|c|c|c|}
\hline
\diagbox{$\text{Α}_2\text{Α}_1$}{$\text{Β}_2\text{Β}_1$}
   & 00  & 01  & 10  & 11  \\ \hline
00 & 000 & 001 & 010 & 011 \\ \hdashline
01 & 001 & 010 & 011 & 100 \\ \hdashline
10 & 010 & 011 & 100 & 101 \\ \hdashline
11 & 011 & 100 & 101 & 110 \\ \hline
\end{NiceTabular}
\end{table}
\end{document}

答案2

以下是您可以使用 做的{NiceTabular}事情nicematrix

该环境有自己的内置命令\diagbox和工具来绘制虚线规则。

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}
\begin{table}
\centering
\def\arraystretch{1.5}
\setlength\tabcolsep{0.05\textwidth}
\begin{NiceTabular}{ccccc}[vlines]
\Hline
\diagbox{$\text{A}_2\text{A}_1$}{$\text{B}_2\text{B}_1$}
   & 00  & 01  & 10  & 11  \\ \Hline
00 & 000 & 001 & 010 & 011 \\ \Hline[tikz=dashed]
01 & 001 & 010 & 011 & 100 \\ \Hline[tikz=dashed]
10 & 010 & 011 & 100 & 101 \\ \Hline[tikz=dashed]
11 & 011 & 100 & 101 & 110 \\ \Hline
\end{NiceTabular}
\end{table}    
\end{document}

上述代码的输出

相关内容