Como posso corrigir as pequenas lacunas em \hhline e torná-las (e as linhas verticais duplas) intransparentes para linhas verticais (horizontais) específicas?

Como posso corrigir as pequenas lacunas em \hhline e torná-las (e as linhas verticais duplas) intransparentes para linhas verticais (horizontais) específicas?

Dê uma olhada nesta tabela:

\documentclass[12pt,a4paper]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[activate={true,nocompatibility},final,tracking=false,kerning=true,spacing=true,factor=1100,stretch=10,shrink=10]{microtype}
\DisableLigatures[f]{encoding = T1}
\usepackage{color}
\usepackage{etoolbox}
\microtypecontext{spacing=nonfrench}
\usepackage{geometry}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{float}
\geometry{
    left=2cm,
    right=2cm,
    top=2cm,
    bottom=2cm,
    bindingoffset=0mm
}
\begin{document}
    \begin{table}[H]
        \centering
        \begin{tabular}{c|c||cc|cc|cc}
            & $\boldsymbol{(1 - \tau_0) i}$ & \multicolumn{2}{c|}{\multirow{2}{*}{$\boldsymbol{\alpha = 0{,}01}$}} & \multicolumn{2}{c|}{\multirow{2}{*}{$\boldsymbol{\alpha = 0{,}02}$}} & \multicolumn{2}{c}{\multirow{2}{*}{$\boldsymbol{\alpha = 0{,}03}$}} \\
            $\boldsymbol{i}$ & $\boldsymbol{=}$ & \multicolumn{2}{c|}{} & \multicolumn{2}{c|}{} & \multicolumn{2}{c}{}\\
            & $\boldsymbol{0{,}25}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$\\ \hhline{=|=#==|==|==}
            $0{,}05$ & $0{,}0375$ & $\infty$ & $\infty$ & $\infty$ & $\infty$ & $\infty$ & $\infty$\\ \hline
            $0{,}06$ & $0{,}0450$ & $42{,}16$ & $\infty$ & $51{,}35$ & $\infty$ & $52{,}85$ & $\infty$\\ \hline
            $0{,}07$ & $0{,}0525$ & $23{,}11$ & $47{,}03$ & $32{,}30$ & $57{,}24$ & $33{,}79$ & $58{,}78$\\ \hline
            $0{,}08$ & $0{,}0600$ & $14{,}69$ & $21{,}97$ & $23{,}89$ & $32{,}19$ & $25{,}38$ & $33{,}37$
        \end{tabular}
    \end{table}
\end{document}

Usar \usepackage{hhline}me permite desenhar uma linha horizontal dupla que é transparente para linhas verticais:

insira a descrição da imagem aqui

Permite ainda linhas verticais duplas com a ajuda de #:

insira a descrição da imagem aqui

Mas olhando mais de perto revela que \hhlineé composto por várias pequenas linhas que deixam lacunas entre elas:

insira a descrição da imagem aqui

Gostaria de me livrar dessas lacunas, mas não sei como.Essenão é solução para mim.

Além disso, gostaria que a dupla linha horizontal e verticalinterrompertodas as linhas que se cruzam. Além disso, gostaria de desativar #para que nem a linha dupla horizontal nem a linha dupla vertical possam se interromper. Isso seria/deveria ficar assim:

 ___| |___
 ___   ___
    | |

Em vez de:

 ___|_|___
 ___|_|___
    | |

Responder1

Você pode usar ::para obter um cruzamento aberto em vez de, no #entanto, as linhas são feitas desenhando uma linha em cada célula, portanto, são linhas separadas que começam e param no mesmo ponto. Alguns visualizadores de PDF podem mostrar uma pequena lacuna devido ao arredondamento dos limites dos pixels; alguns são melhores em evitar isso.

Seria, em princípio, possível mesclar segmentos -ou =segmentos adjacentes e fazer uma única \leadersexecução ao longo do intervalo, no entanto, isso exigiria muitas alterações no pacote.

Responder2

A título de informação, no ambiente {NiceTabular}de nicematrix, as regras verticais não são interrompidas pelas regras horizontais duplas especificadas por \hline\hline. Além disso, você não verá linhas brancas finas, seja qual for o visualizador de PDF usado, em todos os níveis de zoom.

\documentclass[12pt,a4paper]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{color}
\usepackage{geometry}
\usepackage{nicematrix}

\usepackage{float}
\geometry{
    left=2cm,
    right=2cm,
    top=2cm,
    bottom=2cm,
    bindingoffset=0mm
}
\begin{document}
    \begin{table}[H]
        \centering
        \begin{NiceTabular}{c|c||cc|cc|cc}
            & $\boldsymbol{(1 - \tau_0) i}$ & \Block{2-2}{$\boldsymbol{\alpha = 0{,}01}$} && \Block{2-2}{$\boldsymbol{\alpha = 0{,}02}$} && \Block{2-2}{$\boldsymbol{\alpha = 0{,}03}$} \\
            $\boldsymbol{i}$ & $\boldsymbol{=}$ \\
            & $\boldsymbol{0{,}25}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$ & $\boldsymbol{n = 0{,}04}$ & $\boldsymbol{n = 0{,}05}$\\ 
            \hline\hline
            $0{,}05$ & $0{,}0375$ & $\infty$ & $\infty$ & $\infty$ & $\infty$ & $\infty$ & $\infty$\\ \hline
            $0{,}06$ & $0{,}0450$ & $42{,}16$ & $\infty$ & $51{,}35$ & $\infty$ & $52{,}85$ & $\infty$\\ \hline
            $0{,}07$ & $0{,}0525$ & $23{,}11$ & $47{,}03$ & $32{,}30$ & $57{,}24$ & $33{,}79$ & $58{,}78$\\ \hline
            $0{,}08$ & $0{,}0600$ & $14{,}69$ & $21{,}97$ & $23{,}89$ & $32{,}19$ & $25{,}38$ & $33{,}37$
        \end{NiceTabular}
    \end{table}
\end{document}

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

informação relacionada