Как исправить небольшие зазоры в \hhline и сделать его (и двойные вертикальные линии) непрозрачным для определенных вертикальных (горизонтальных) линий?

Как исправить небольшие зазоры в \hhline и сделать его (и двойные вертикальные линии) непрозрачным для определенных вертикальных (горизонтальных) линий?

Взгляните на эту таблицу:

\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}

Использование \usepackage{hhline}позволяет мне рисовать двойную горизонтальную линию, которая прозрачна для вертикальных линий:

введите описание изображения здесь

Он даже позволяет создавать двойные вертикальные линии с помощью #:

введите описание изображения здесь

Но если присмотреться, то можно увидеть, что \hhlineон состоит из нескольких маленьких линий, между которыми имеются пробелы:

введите описание изображения здесь

Я хотел бы избавиться от этих пробелов, но не знаю как.Этотдля меня это не решение.

Кроме того, я хотел бы, чтобы двойная горизонтальная и вертикальная линияпрерыватьвсе пересекающиеся линии. Также я хотел бы деактивировать, #чтобы ни двойная горизонтальная, ни двойная вертикальная линия не могли прерывать друг друга. Это будет/должно выглядеть так:

 ___| |___
 ___   ___
    | |

Вместо:

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

решение1

Вы можете использовать ::, чтобы получить открытое пересечение вместо , #однако линии создаются путем рисования линии в каждой ячейке, поэтому они представляют собой отдельные линии, которые начинаются и заканчиваются в одной и той же точке. Некоторые просмотрщики PDF могут показывать небольшой зазор из-за округления до границ пикселей, некоторые лучше избегают этого.

В принципе, можно было бы объединить смежные -сегменты =и создать единый \leadersпроход по всему интервалу, однако это потребовало бы внесения довольно большого количества изменений в пакет.

решение2

Для информации, в среде {NiceTabular}вертикальные nicematrixлинии не прерываются двойными горизонтальными линиями, указанными \hline\hline. Более того, вы не увидите тонких белых линий, какой бы просмотрщик PDF вы ни использовали, на всех уровнях масштабирования.

\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}

Вам нужно несколько компиляций (т.к. nicematrixвнутри используются узлы PGF/Tikz).

Вывод кода выше

Связанный контент