La línea diagonal en la tabla está fuera de cuadro.

La línea diagonal en la tabla está fuera de cuadro.

¿Por qué la línea diagonal de la tabla está fuera de cuadro y cómo solucionarla?

ingrese la descripción de la imagen aquí

\documentclass[a4paper,twoside,12pt]{book}
\usepackage{placeins}
\usepackage{slashbox,pict2e}
\usepackage{amsmath,amssymb,mathptmx}
\begin{document}
\FloatBarrier
\begin{table}[h!]
    \centering
    \caption{Tabel $Q\cap M'$}
    \begin{tabular}{|@{}c|c|c|c|c|}
        \hline
        \backslashbox{\tabular{@{}l@{}}$Q\in\mathfrak{p}$\endtabular}{$M'\in P(A)$}
        & $\varnothing$& $\{1\}$& $\{2\}$&$\{1,2\}$\\
        \hline
        $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
        \hline
        $\{1\}$&$\varnothing$&$\{1\}$&$\varnothing$&$\{1\}$\\
        \hline\hline
        $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
        \hline
        $\{2\}$&$\varnothing$&$\varnothing$&$\{2\}$&$\{2\}$\\
        \hline
    \end{tabular}
    \label{tabelksmanna}
\end{table}
\FloatBarrier   
\end{document}

Respuesta1

En primer lugar, creo que el slashboxpaquete está obsoleto y ya no forma parte de TeXLive. En su lugar, utilice el diagboxpaquete.

En segundo lugar, puedes solucionar el problema que has encontrado omitiendo la @{}partícula en el argumento del tabularentorno. Es decir, reemplazar

\begin{tabular}{|@{}c|c|c|c|c|}

con

\begin{tabular}{|c|c|c|c|c|}

En términos más generales, es posible que desee reconsiderar su enfoque para mostrar información en forma de tabla.

  • Cuando miro tu mesa, lo primero que veo son muchísimas líneas verticales y horizontales. Se necesita un esfuerzo no trivial para comenzar a descubrir qué esadentrotodas esas pequeñas celdas (de prisión).

  • Piense en emplear una "apariencia" más abierta y atractiva para presentar el material tabular. Puede comenzar omitiendo todas las líneas verticales y conservando solo unas pocas líneas horizontales, pero bien espaciadas, como se hace en el ejemplo que se muestra a continuación. (Por cierto, ¿la tercera fila de datos es una repetición de la primera fila de datos? Si es así, la tercera fila es redundante y podría omitirse, ¿verdad?)

Estoy bastante seguro de que sus lectores apreciarán su esfuerzo y lo recompensarán molestándose en mirar elcontenidode la mesa. Lograr que tus lectores absorban la información que presentas debe verse como parte de haber escrito un artículo exitoso, ¿verdad? :-)

ingrese la descripción de la imagen aquí

\documentclass[a4paper,twoside,12pt]{book}
\usepackage{diagbox,amsmath,amssymb}
\usepackage{newtxtext,newtxmath} % mathptmx is very old
\usepackage{booktabs} % new
\usepackage[skip=0.333\baselineskip]{caption} % optional

\begin{document}
\begin{table}[h!]
\centering

    \caption{Tabel $Q\cap M'$}
    \label{tabelksmanna}
    \begin{tabular}{|c|c|c|c|c|}
        \hline
        \backslashbox{\tabular{@{}l@{}}$Q\in\mathfrak{p}$\endtabular}{$M'\in P(A)$}
        & $\varnothing$& $\{1\}$& $\{2\}$&$\{1,2\}$\\
        \hline
        $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
        \hline
        $\{1\}$&$\varnothing$&$\{1\}$&$\varnothing$&$\{1\}$\\
        \hline\hline
        $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
        \hline
        $\{2\}$&$\varnothing$&$\varnothing$&$\{2\}$&$\{2\}$\\
        \hline
    \end{tabular}

    \bigskip
    \caption{Same material, rearranged}
    %% Use an 'array' env. since all contents are math-y
    $\begin{array}{@{}lcccc@{}}
        \toprule
        Q\in\mathfrak{p} & \multicolumn{4}{c@{}}{M'\in P(A)}\\
        \cmidrule(l){2-5}
        & \varnothing & \{1\} & \{2\} &\{1,2\} \\
        \midrule
        \varnothing&\varnothing&\varnothing&\varnothing&\varnothing\\
        \{1\} & \varnothing & \{1\} & \varnothing & \{1\} \\
        \addlinespace
        \varnothing&\varnothing&\varnothing&\varnothing&\varnothing\\
        \{2\}&\varnothing&\varnothing&\{2\}&\{2\}\\
        \bottomrule
    \end{array}$

\end{table}

\end{document}

Respuesta2

Con {NiceTabular}el nicematrixcual tiene su propio comando incorporado \diagbox.

\documentclass[a4paper,twoside,12pt]{book}
\usepackage{amssymb}
\usepackage{newtxtext,newtxmath}
\usepackage[skip=0.333\baselineskip]{caption}
\usepackage{nicematrix}

\begin{document}
\begin{table}[h!]
\centering

\caption{Tabel $Q\cap M'$}
\label{tabelksmanna}
\begin{NiceTabular}{w{c}{22mm}cccc}[vlines]
    \Hline
    \rule{0pt}{9mm}
    \diagbox{\footnotesize $Q\in\mathfrak{p}$}{\footnotesize $M'\in P(A)$}
    & $\varnothing$& $\{1\}$& $\{2\}$&$\{1,2\}$\\
    \Hline
    $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
    \Hline
    $\{1\}$&$\varnothing$&$\{1\}$&$\varnothing$&$\{1\}$\\
    \Hline\Hline
    $\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$&$\varnothing$\\
    \Hline
    $\{2\}$&$\varnothing$&$\varnothing$&$\{2\}$&$\{2\}$\\
    \Hline
\end{NiceTabular}
\end{table}

\end{document}

Salida del código anterior

información relacionada