![Mehrzeilige Tabelle: Einrückung der ersten Zeile aufheben](https://rvso.com/image/254731/Mehrzeilige%20Tabelle%3A%20Einr%C3%BCckung%20der%20ersten%20Zeile%20aufheben.png)
In der pdfLaTeX- tabular
Umgebung wird die erste Zeile jeder \multirow
Zelle eingerückt. Egal, ob ich als Spaltenbezeichner l
, r
oder verwende. Wie werde ich das los?!?p
Hier ist der Screenshot:
Hier ist mein Code:
\NeedsTeXFormat{LaTeX2e}
\documentclass[a4paper,10pt]{article}
\pagestyle{empty}
\usepackage{array}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{pbox}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[OT4]{fontenc}
\usepackage[lmargin=2cm,rmargin=2cm,tmargin=1.5cm,bmargin=1.5cm]{geometry}
\usepackage{graphicx}
\usepackage{sectsty}
\allsectionsfont{\underline}
\usepackage[pdftex]{hyperref}
\hypersetup{pdfborder={0 0 0 0},colorlinks=true,urlcolor=blue}
\fontencoding{T1}
\fontfamily{qpl}
\fontseries{m}
\fontshape{n}
\newlength{\rowA}
\setlength{\rowA}{3.5ex}
\newcommand{\strutA}{
\rule[-0.2\rowA]{0pt}{\rowA}
}
\newlength{\rowB}
\setlength{\rowB}{6.5ex}
\newcommand{\strutB}{
\rule[-0.55\rowB]{0pt}{\rowB}
}
\newlength{\rowD}
\setlength{\rowD}{6ex}
\newcommand{\strutD}{
\rule[-0.6\rowD]{0pt}{\rowD}
}
\newcommand{\vatexempt} {
\pbox[t]{2cm}{Nie podlega\\Exempt}
}
% table cell with dark background
\newcommand{\itg} {
\cellcolor[gray]{.8}
\setlength{\parindent}{0pt}
}
% table header
\newcommand{\ith} {
\cellcolor[gray]{.8}
\setlength{\parindent}{0pt}
}
\setlength{\parindent}{0pt}
\setlength{\parskip}{7.2pt}
\begin{document}
\begin{fussy}
\begin{tabular}{|r|p{4cm}|r|r|r|r|r|r|}
\hline
\ith\strutA No.&\ith&\multicolumn{1}{p{0.6cm}|}{\multirow{2}{0.6cm}{\ith Q-tity}}&\ith&\ith&\multicolumn{2}{c|}{\ith VAT}&\ith\\
\cline{6-7}
\ith\strutD&\multicolumn{1}{p{4cm}|}{\multirow{-2}{4cm}{\ith Service or commodity name}}&\ith&\multicolumn{1}{p{2cm}|}{\multirow{-2}{2cm}{\ith Net unit price (EUR)}}&\multicolumn{1}{p{2cm}|}{\multirow{-2}{2cm}{\ith Net value (EUR)}}&\multicolumn{1}{p{2cm}|}{\ith Rate (\%)}&\multicolumn{1}{p{1.2cm}|}{\ith Amount (EUR)}&\multicolumn{1}{p{2cm}|}{\multirow{-2}{2cm}{\ith Gross value (EUR)}}\\
\hline
\strutD 1 & screwdrivers 10 pack & 1 & 123 & 123 & \vatexempt & 0 & 123\\
\hline
\multicolumn{2}{l|}{} & \multicolumn{2}{l}{\itg\strutA SUMA / TOTAL:} & \itg 123 &\itg&\itg 0 &\itg 123\\
\cline{3-8}
\end{tabular}
\end{fussy}
\end{document}
Ich verwende diese \multicolumn{1}
Optimierungen, um den Inhalt der Tabellenkörperzellen rechtsbündig auszurichten (das sind Beträge) und den Inhalt der Kopfzellen im Blocksatz auszurichten, ABER OHNE EINZUG!
Eigentlich wäre ich auch mit einem linksbündigen Inhalt der Kopfzelle zufrieden, ABER MIT SILIKONTRENNUNG. Das könnte sogar noch besser sein. (Wie macht man das?)
Ich verwende es, \multirow{-2}
um den Inhalt über den Hintergrund zu malen, nicht darunter. :o)
Antwort1
Zum Vergleich: So kann man dieselbe Tabelle in ConTeXt setzen. Beachten Sie, dass alle Setup-Befehle außerhalb der Tabelle verschoben werden können und der Tabelleninhalt sauber gesetzt werden kann.
\setupbodyfont[10pt]
\startsetups invoice
\setupTABLE[column][each][align={flushright}]
\setupTABLE[header][background=color,backgroundcolor=gray, align={middle,lohi}]
\setupTABLE[column][2][width=4cm, align=normal]
\setupTABLE[column][4,5,6,7,8][width=2cm]
\setupTABLE[row][last][background=color,backgroundcolor=gray]
\setupTABLE[1,2][last][frame=off,background=]
\setupTABLE[3,5,6,7][last][frame=off, topframe=on, bottomframe=on]
\setupTABLE[3,6][last][leftframe=on]
\stopsetups
\starttext
\bTABLE[setups={invoice}]
\bTABLEhead
\bTR
\bTD[ny=2] No. \eTD
\bTD[ny=2] Service or commodity name \eTD
\bTD[ny=2] Q-tity \eTD
\bTD[ny=2] Net Unit Price (EUR) \eTD
\bTD[ny=2] Net value (EUR) \eTD
\bTD[nx=2] Value \eTD
\bTD[ny=2] Gross value (EUR) \eTD
\eTR
\bTR
\bTD Rate (\%) \eTD
\bTD Amount (EUR) \eTD
\eTR
\eTABLEhead
\bTABLEbody
\bTR
\bTD 1 \eTD
\bTD screwdrivers 10 pack \eTD
\bTD 1 \eTD
\bTD 123 \eTD
\bTD 123 \eTD
\bTD[align=normal]
Nie podlega Exempt \eTD
\bTD 0 \eTD
\bTD 123 \eTD
\eTR
\eTABLEbody
\bTABLEfoot
\bTR
\bTD[nx=2] \eTD
\bTD[nx=2] SUMA/TABLE \eTD
\bTD 123 \eTD
\bTD \eTD
\bTD 0 \eTD
\bTD 123 \eTD
\eTR
\eTABLEfoot
\eTABLE
\stoptext
was gibt
Ich habe nicht versucht, die Breite der verschiedenen Spalten anzupassen, daher unterscheiden sie sich von dem, was Sie in LaTeX erhalten haben.
Antwort2
Die „Einrückung“ rührt von unechten Leerzeichen in Ihrer \newcommand
Definition her \ith
(wie von Aditya erwähnt). Die folgende Definition entfernt dies (und erfordert nicht \setlength{\parindent}{0pt}
):
% table header
\newcommand{\ith}{%
\cellcolor[gray]{.8}%
}
Beachten Sie die Hinzufügung von %
am Ende der Zeilen. Dasselbe gilt natürlich auch für die anderen in Ihrem Beispiel definierten Befehle ( \itg
, \strutD
, \vatexempt
, ...).
Die Gründe hierfür finden Sie unterWozu dienen Prozentzeichen am Zeilenende?