表中:
\begin{table}[h]
\hfill
\begin{tabular}[t]{l|c|l|c|c|}
\cline{2-5}
Zestawienie VAT: & \cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ netto {[}zł{]}\end{tabular}} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Stawka\\ VAT\end{tabular}}} & \cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ VAT {[}zł{]}\end{tabular}} & \cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ brutto {[}zł{]}\end{tabular}} \\ \cline{2-5}
& \multicolumn{1}{r|}{} & zw & \multicolumn{1}{r|}{0,00} & \multicolumn{1}{r|}{} \\ \cline{2-5}
\end{tabular}
\end{table}
顶部线条不是由 绘制的\cline{2-5}
。可能是什么问题?
编辑:删除了其他用户内容的代码在这里。不幸的是,当我尝试编译它时,我遇到了一些错误,这很难解决,但最终 pdf 可以正常工作,并且生成了没有顶行的表格。我使用\usepakage[table]{xcolor}
@daleif 在评论中提到的包:
\documentclass[a4paper,pagenumber=no,9pt,DIV=10]{scrlttr2}
\usepackage[polish]{babel}
\usepackage[utf8]{luainputenc}
\usepackage{invoice}
\usepackage[table,xcdraw]{xcolor}
\usepackage{graphicx}
\addtolength{\textwidth}{2.5cm}
\addtolength{\hoffset}{-1.25cm}
\addtolength{\voffset}{-1.25cm}
\usepackage{fontspec}
\setmainfont{Calibri}
\usepackage[parfill]{parskip}
\def\mydate{\leavevmode\hbox{\the\year-\twodigits\month-\twodigits\day}}
\def\twodigits#1{\ifnum#1<10 0\fi\the#1}
\usepackage{pgfkeys,pgfcalendar}
\usepackage{booktabs,caption,float}
\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=lot]{table}
\usepackage[export]{adjustbox}
\usepackage{amsmath}
\newcount\julianday
\newcount\daycount
\newcount\weekday
\newcommand*{\adddays}[2]{%
\pgfcalendardatetojulian{#1}{\julianday}%
\daycount=#2\relax
\loop
\advance\julianday by 1\relax
\advance\daycount by -1\relax
\ifnum\daycount > 0
\repeat
\pgfcalendarjuliantodate{\julianday}{\thisyear}{\thismonth}{\thisday}%
\thisyear-\thismonth-\thisday
}
\begin{document}
\begin{table}[h]
\hfill
\begin{tabular}{lrlrr}
\cline{2-5}
\multicolumn{1}{r|}{Zestawienie VAT:} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ netto {[}zł{]}\end{tabular}}} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Stawka\\ VAT\end{tabular}}} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ VAT {[}zł{]}\end{tabular}}} & \multicolumn{1}{c|}{\cellcolor[HTML]{C0C0C0}\textbf{\begin{tabular}[c]{@{}c@{}}Wartość\\ brutto {[}zł{]}\end{tabular}}} \\ \cline{2-5}
\multicolumn{1}{l|}{} & \multicolumn{1}{r|}{500} & \multicolumn{1}{l|}{zw} & \multicolumn{1}{r|}{0,00} & \multicolumn{1}{r|}{500} \\ \cline{2-5}
& \multicolumn{1}{l}{} & & \multicolumn{1}{l}{} & \multicolumn{1}{l}{} \\ \cline{2-5}
\multicolumn{1}{r|}{Razem:} & \multicolumn{1}{r|}{500}} & \multicolumn{1}{l|}{-} & \multicolumn{1}{r|}{0,00} & \multicolumn{1}{r|}{500} \\ \cline{2-5}
\end{tabular}
\end{table}
\end{document}
答案1
文本Zestawienie VAT:
没有语义上的理由放在表格中。原作者可能为该文本创建了一列,因为他希望该文本与表格的第一行对齐。但由于第一行,无法将表格的基线设置在首行\hline
(并且使用没有帮助\firsthline
,array
因为第一行没有标准高度)。
这就是为什么 OP 试图Zestawienie VAT:
在表格的第一列中插入。这样做,他必须使用\cline
而不是hline
。但是,\cline
与 不兼容\cellcolor
(因为 绘制的规则\cline
在下一行中突出,并被规则后绘制的彩色面板覆盖;请注意,这仅仅是出于历史原因:\hline
没有这种行为)。
为了解决这个问题,我建议使用{NiceTabular}
。nicematrix
规则是用 PGF/Tikz 绘制的,将表格的基线放在第一行没有问题(放在Zestawienie VAT:
表格前面也没有问题)。
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}[h]
\hfill
Zestawienie VAT:
\begin{NiceTabular}[t]{clcc}[hvlines]
\CodeBefore
\rowcolor[HTML]{C0C0C0}{1}
\Body
\Block{}{Wartość\\ netto {[}zł{]}}
& \Block{}{Stawka\\ VAT}
& \Block{}{Wartość\\ VAT {[}zł{]}}
& \Block{}{Wartość\\ brutto {[}zł{]}} \\
25123,89 & zw & \multicolumn{1}{r}{0,00} & 25123,89 \\
\end{NiceTabular}
\end{table}
\end{document}
然而,需要进行多次编译。
答案2
效果很好 - 删除里面的表格和 \multicolumn - 它不是必需的
\begin{table}[h]
\hfill
\begin{tabular}[t]{l|c|l|c|c|}
\cline{2-5}
Zestawienie VAT: &
\textbf{A} &
\textbf{B} &
\textbf{C} &
\textbf{D} \\ \cline{2-5}
& \multicolumn{1}{r|}{} & zw & \multicolumn{1}{r|}{0,00} & \multicolumn{1}{r|}{} \\ \cline{2-5}
\end{tabular}
\end{table}