我今天从 github 下载了最新版本tabularray.sty
,但不幸的是,仍然看到彩色表格中的线条问题,或者至少在我的特定文件和特定软件包集中存在问题。我在这里展示了我使用的所有前言:
\documentclass[12pt, a4paper]{article}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmainfont{Times New Roman}
\setmathfont{STIX Two Math}
\usepackage{microtype}
\usepackage[english]{babel}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\usepackage[left=3cm, right=2cm, top=3cm, bottom=2cm, headheight=2cm, headsep=0.5cm]{geometry}
\usepackage{graphicx}
\usepackage{tabularray}
\usepackage{lastpage}
\usepackage{siunitx}
\sisetup{inter-unit-product = \ensuremath{{}\cdot{}}}
\sisetup{mode=text, reset-text-series=false}
\usepackage{xcolor}
\colorlet{titleblue}{blue!70!black}
\usepackage[pdfa]{hyperref}
\usepackage{hyperxmp}
\usepackage{embedfile}
\title{Title}
\author{Author}
\hypersetup{%
pdflang=en,
pdfapart=1,
pdfaconformance=B,
hidelinks,
pdfstartview={XYZ null null 1.00}
}
\begin{document}
\begin{longtblr}{
colspec = {lXX}, width = \textwidth,
rowhead = 1,
hlines, vlines,
row{2} = {bg=titleblue!15},
cell{2}{2} = {c=2}{l},
cell{3}{2} = {c=2}{l}
}
Head & Head & Head \\
1 & Combined text & \\
1.1 & Sub text & \\
1.1.1 & Text & Normal row \\
\end{longtblr}
\end{document}
我特意将 PDF 的初始视图设置为 100%,在这里我看不到主行和彩色行(第二条水平线)之间的水平线。它在 150% 视图下可见,然后在 200% 视图下消失,等等。这可以修复吗?它取决于包设置吗?
谢谢。
答案1
于 2021-09-09 更新:这个错误应该已经修复。您可以从下载最新的软件包文件 https://github.com/lvjr/tabularray/raw/main/tabularray.sty 并测试是否还存在其他问题。
其实这只是长表格的一个bug,如果你改成longtblr
,tblr
一切就都好了。
\documentclass[12pt,a4paper]{article}
\usepackage{tabularray}
\usepackage{xcolor}
\colorlet{titleblue}{blue!70!black}
\begin{document}
\begin{tblr}{
colspec = {lXX}, width = \textwidth,
rowhead = 1,
hlines, vlines,
row{2} = {bg=titleblue!15},
cell{2,3}{2} = {c=2}{l},
}
Head & Head & Head \\
1 & Combined text & \\
1.1 & Sub text & \\
1.1.1 & Text & Normal row \\
\end{tblr}
\end{document}
最近,为了解决某些 PDF 阅读器中边框消失的问题,tabularray
更改了一些代码,在表格单元格后绘制表格边框(参见问题 #76)。新方法对于短表非常有效,但不幸的是对于一些长表却无效。
页面中的长表格由三部分组成:表头、表体和表尾。在本例中,第二行位于表头,而第二行位于表体。因此,在 PDF 阅读器中,在某些情况下,行可能会覆盖表头。
为了解决这个问题,我需要修改长表格排版的代码,先绘制表体,再绘制表头。
但对于版本来说已经太晚了2021N
。因此我将在之后修复此错误2021N
并随后更新此答案。