![Tabular de varias filas: quitar la sangría de la primera línea](https://rvso.com/image/254731/Tabular%20de%20varias%20filas%3A%20quitar%20la%20sangr%C3%ADa%20de%20la%20primera%20l%C3%ADnea.png)
En el entorno pdfLaTeX tabular
, la primera línea de cada \multirow
celda tiene sangría. No importa si uso l
o para r
el p
especificador de columna. ¿¡¿Cómo deshacerse de eso?!?
Aquí está la captura de pantalla:
Aquí está mi 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}
Estoy usando esos \multicolumn{1}
ajustes para tener el contenido de las celdas del cuerpo de la tabla alineado a la derecha (esas son cantidades) y el contenido de las celdas del encabezado justificado ¡PERO SIN SANGRÍA!
De hecho, también estaría satisfecho con el contenido de la celda del encabezado colocado a la izquierda PERO CON GUIONES. Eso podría ser incluso mejor. (¿Cómo hacer eso?)
Lo estoy usando \multirow{-2}
para pintar el contenido sobre el fondo, no debajo. :u)
Respuesta1
A modo de comparación, así es como se puede componer la misma tabla en ConTeXt. Tenga en cuenta que todos los comandos de configuración se pueden mover fuera de la tabla y que el contenido de la tabla se puede componer limpiamente.
\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
lo que da
No he intentado ajustar el ancho de diferentes columnas, por lo que son diferentes de lo que obtenías en LaTeX.
Respuesta2
La "sangría" proviene de espacios falsos en su \newcommand
definición de \ith
(como lo menciona Aditya). La siguiente definición elimina esto (y no requiere \setlength{\parindent}{0pt}
:
% table header
\newcommand{\ith}{%
\cellcolor[gray]{.8}%
}
Tenga en cuenta la adición de %
al final de las líneas. Por supuesto , lo mismo ocurre con los otros comandos definidos en su ejemplo ( \itg
,,, ...).\strutD
\vatexempt
Para conocer las motivaciones detrás de esto, consulte¿Para qué sirven los signos de porcentaje al final de las líneas?