
내 rowcolor 명령이 일부 PDF 뷰어의 열 구분 기호를 덮어쓰는 이상한 문제가 있습니다. 불행히도 Acrobat에는 렌더링 문제가 있는 유일한 제품입니다. 이 문제는 렌더링된 화면과 인쇄된 버전 모두에 존재합니다.
Acrobat 렌더링은 다음과 같습니다.
Postscript 파일에서 TeXShop, MacOS Preview 및 Ghostscript의 렌더링은 다음과 같습니다.
다른 렌더링 엔진을 사용하면 1/2 줄 열 구분 기호가 있는 것 같아서 무슨 일이 일어나고 있는지 개념적으로 이해하지만 문제를 해결하기 위해 /rowcolor 명령을 변경하는 방법을 모르겠습니다. /rowcolor 명령이 모두 1pt인 테이블 구분선을 덮어쓰지 않도록 해야 합니다.
\usepackage{booktabs,xcolor,siunitx,colortbl}
\definecolor{lightgray}{HTML}{EFEFEF}
\begin{tabular}{|c|c||c|c||c|c|}
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\rowcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{tabular}
1/2 너비 선 문제를 확인하기 위해 던졌습니다.
\setlength{\arrayrulewidth}{1.5pt}
Acrobat에서 테이블을 렌더링할 수 있도록 모든 것을 더 두껍게 만들었지만 실제로는 즐겁지 않았습니다.
어떤 제안이라도 대단히 감사하겠습니다.
답변1
이상하네요. 운이 좋다면데이비드 칼라일패키지가 colortbl
들러서 이를 명확히 할 것입니다. 나는 문제의 근본 원인인 것처럼 보이는 규칙과 채우기 색상의 z 순서를 수정하는 데 능숙하지 않지만 귀하에게 충분할 수 있는 더티 더티 해킹이 있습니다.
몇 가지 참고 사항: TeX 코드 블록(\makeatletter
)은 다음과 같습니다.이 doublerulesep 색상 수정, 이중 수직선 사이의 공간을 지정한 색상으로 채우며 각 행마다 다른 색상을 허용합니다.
[table]{xcolor}
행 색상을 자동으로 교체하는 rowcolors를 지원하기 때문에 이 옵션을 사용하고 있습니다 .
불규칙한 세로 구분 기호 문제를 해결하기 위해 흰색에 매우 가까운 색상을 정의했지만 실제로는 그렇지 않아 모든 행을 강제로 채웠습니다.
\usepackage[table]{xcolor}
\usepackage{booktabs,siunitx}
\makeatletter
\let\old@mkpream\@mkpream
\def\@mkpream{%
\ifx\CT@drsc@\relax\else\let\CT@drsc@ @\fi
\let\CT@arc@\relax
\old@mkpream}
\makeatother
\begin{document}
\definecolor{lightgray}{HTML}{EFEFEF}
\definecolor{nearwhite}{HTML}{FEFEFE}
\doublerulesepcolor{nearwhite}
\rowcolors{1}{nearwhite}{lightgray}
\begin{tabular}{|c|c||c|c||c|c|}
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\doublerulesepcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{tabular}
답변2
{NiceTabular}
of를 사용하면 nicematrix
예상되는 출력을 직접 얻을 수 있습니다. 일부 PDF 뷰어에서는 일부 확대/축소 수준에서 규칙이 사라지지 않는 것 같습니다.
\documentclass{article}
\usepackage{xcolor}
\definecolor{lightgray}{HTML}{EFEFEF}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{|c|c||c|c||c|c|}[colortbl-like]
\hline
48 & 72 & 24 & 3 & \(z_0\)& 36\\
\rowcolor{lightgray}
& 96 & & 4 & \(z_1\)& 36\\
\hline
\end{NiceTabular}
\end{document}
여러 컴파일이 필요합니다( nicematrix
내부적으로 PGF/Tikz 노드를 사용하기 때문에).