Arreglando \vlines dobles en tabularray

Arreglando \vlines dobles en tabularray

Estoy tratando de usar dos tipos diferentes de líneas dobles, tabularraypero parecen entrar en conflicto con las horizontales.

El siguiente es un MWE:

\documentclass[10pt]{report}
\usepackage{tabularray}
\UseTblrLibrary{diagbox}

\newcommand{\rot}[1]{\rotatebox[origin=c]{90}{$#1$}}

\begin{document}
$$\begin{tblr}{
colspec={ccccc},
hline{1,2,3,5,6} = {1-3}{solid},
hline{1,2,3,5,6} = {4-5}{solid},
vline{1,2,3,5,6} = {1-3,4-5}{solid},
hline{4}= {1}{1}{dashed},
hline{4}= {2}{1}{dashed},
vline{4}= {1}{1}{dashed},
vline{4}= {2}{1}{dashed},
hline{4} = {1}{2-3,4-5}{2pt},
hline{4} = {2}{2-3,4-5}{2pt},
hline{2,6} = {2-3,4-5}{2pt},
vline{4} = {1}{2-3,4-5}{2pt},
vline{4} = {2}{2-3,4-5}{2pt},
vline{2,6} = {2-3,4-5}{2pt}
}
\diagbox{pq}{\rot{rs}} &\rot{A_1 a_2} & \rot{A_1 a_1} & \rot{A_{-1} a_{-1}} & \rot{A_{-1} a_{-2}}\\
A_3 a_4 &x_1 &-y_1 & -y_1 &x_1\\
A_2 a_4 &\ast &\ast &\ast &\ast\\
A_{-2} a_{-4} &\ast &\ast &\ast &\ast\\
A_{-3} a_{-4} &x_1 &-y_1 &-y_1 &x_1
\end{tblr}$$
\end{document}

lo que produce la siguiente tabla:

ejemplo de tabla

¿Cómo puedo evitar hlinesque cruce el vline{4}?

vline{4} = {1}{dashed}También sería buena una alternativa que cambie la forma para que sea una especie de línea en zigzag. (Quiero representar que he omitido algunas columnas entre columna \rot{A_1 a_1}y columna \rot{A_{-1}a_{-1}}).

Respuesta1

¿Como esto?

ingrese la descripción de la imagen aquí

\documentclass[margin=3mm]{standalone}
\usepackage{rotating}
\usepackage{makecell}
\usepackage{tabularray}
\UseTblrLibrary{diagbox}

\begin{document}
\settowidth\rotheadsize{\small$A_{-1}a_{-1}$}    % from makecell
$   
    \begin{tblr}{colspec={*{6}{c}},
                 hline{1-Z} = {1-3,5-6}{solid},
                 hline{1,4,5,Z} = {4}{dashed},
                 vline{1-4,5-Z} = {1-3,5-6}{solid},
                 vline{1,4,5,Z} = {4}{dashed},
%
                hline{2,4,5,Z} = {2-3,5-6}{1pt},
                vline{2,4,5,Z} = {2-3,5-6}{1pt},
%
                 cell{1}{2-Z}   = {cmd=\rothead},
                 row{1} = {rowsep=0pt}
                }
\diagbox{pq}{rs}    &   $A_1 a_2$   &   $A_1 a_1$   &&  $A_{-1}a_{-1}$  &   $A_{-1}a_{-2}$  \\
A_3 a_4             &   x_1         &   -y_1        &&   -y_1           &   x_1             \\
A_2 a_4             &   \ast        &   \ast        &&  \ast            &   \ast            \\
                    &               &               &&                  &                   \\
A_{-2} a_{-4}       &   \ast        &   \ast        &&  \ast            &   \ast            \\
A_{-3} a_{-4}       &   x_1         &   -y_1        &&  -y_1            &   x_1             \\
    \end{tblr}
$   
\end{document}

Respuesta2

Con {NiceTabular}de nicematrix.

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

\begin{document}

\renewcommand{\arraystretch}{1.5}
\NiceMatrixOptions{exterior-arraycolsep}

$\begin{NiceArray}{c*{5}{w{c}{6mm}}}
    \Block[hvlines]{3-3}{}
    \diagbox{pr}{rs} & \RowStyle{\rotate} A_1a_2 & A_1a_1 & & \Block[hvlines]{3-2}{}A_{-1}a_{-1} & A_{-1}a_{-2}
    \kern1mm \\
    A_3a_4 & x_1 & -y_1 & & -y_1 & x_1 \\
    A_2a_4 & *   & *    & & *    & *   \\
    \\
    \Block[hvlines]{2-3}{} 
    A_{-2}a_{-4} & * & * & & \Block[hvlines]{2-2}{} * & * \\
    A_{-3}a_{-4} & x_1 & -y_1 & & -y_1 & x_1 
\CodeAfter
   \begin{tikzpicture}
     \draw [very thick] (2-|2) rectangle (4-|4) 
                        (5-|2) rectangle (7-|4) 
                        (2-|5) rectangle (4-|7)  
                        (5-|5) rectangle (7-|7) ; 
     \draw [dashed] (1-|4) -- (1-|5) 
                    (7-|4) -- (7-|5) 
                    (4-|1) -- (5-|1)  
                    (4-|7) -- (5-|7)  
                    (4-|4) rectangle (5-|5) ; 
   \end{tikzpicture}
\end{NiceArray}$

\end{document}

Necesitas varias compilaciones.

Salida del código anterior

información relacionada