![Tabular multilinha: desindentar a primeira linha](https://rvso.com/image/254731/Tabular%20multilinha%3A%20desindentar%20a%20primeira%20linha.png)
No ambiente pdfLaTeX tabular
, a primeira linha de cada \multirow
célula é recuada. Não importa se eu uso l
ou para especificador de coluna r
. p
Como se livrar disso?!?
Aqui está a captura de tela:
Aqui está o meu código:
\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}
Estou usando esses \multicolumn{1}
ajustes para alinhar o conteúdo das células do corpo da tabela à direita (essas são as quantidades) e o conteúdo das células do cabeçalho justificado, MAS SEM RETIRADA!
Na verdade, eu também ficaria satisfeito com o conteúdo da célula do cabeçalho liberado para a esquerda, MAS COM HIFENAÇÃO. Isso poderia ser ainda melhor. (Como fazer isso?)
Estou usando \multirow{-2}
para pintar o conteúdo sobre o fundo, não abaixo. :o)
Responder1
Para efeito de comparação, é assim que se pode compor a mesma tabela no ConTeXt. Observe que todos os comandos de configuração podem ser movidos para fora da tabela e o conteúdo da tabela pode ser composto de forma limpa.
\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
que dá
Eu não tentei ajustar as larguras de colunas diferentes, então elas são diferentes do que você estava obtendo no LaTeX.
Responder2
O "recuo" deriva de espaços espúrios na sua \newcommand
definição de \ith
(conforme mencionado por Aditya). A definição a seguir remove isso (e não requer \setlength{\parindent}{0pt}
:
% table header
\newcommand{\ith}{%
\cellcolor[gray]{.8}%
}
Observe a adição de %
no final das linhas. Claro, o mesmo vale para os outros comandos definidos no seu exemplo ( \itg
, \strutD
, \vatexempt
, ...).
Para motivações por trás disso, vejaQual é a utilidade dos sinais de porcentagem no final das linhas?