Estoy intentando crear algunas tablas de cuentas T. Este es mi código:
\documentclass[10pt,draft,oneside,titlepage]{report}
\usepackage[a4paper, left=2cm, right=2cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{ngerman}
\usepackage[natural,table]{xcolor}
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}
\newcommand{\tableTAccount}[4]{
\begin{figure}[H]
\caption{#1}
\scriptsize
\setlength{\tabcolsep}{3pt}
\begin{tabular}{
p{1.27cm}
p{0.69cm}
p{1.8cm}
p{2cm}
>{\raggedleft}p{1.55cm}|
p{1.27cm}
p{0.69cm}
p{1.8cm}
p{2cm}
>{\raggedleft}p{1.55cm}
}
\multicolumn{4}{l}{Soll} & \multicolumn{2}{c}{#2} & \multicolumn{4}{r}{Haben} \\ \hline
#3
\multicolumn{5}{r|}{} & \multicolumn{5}{r}{} \\
#4
\end{tabular}
\end{figure}
}
\newcommand{\addRowTTA}[2]{#1 & #2 \\}
\newcommand{\addRowEntryTTA}[5]{#1 & #2 & #3 & #4 & #5}
\newcommand{\addRowEmptyEntryTTA}{&&&&}
\newcommand{\addRowTTAResults}[3]{
\multicolumn{5}{r|}{#1} & \multicolumn{5}{r}{#2} \\
\multicolumn{5}{r|}{} & \multicolumn{5}{r}{#3} \\
}
\begin{document}
\tableTAccount
{T-Account}
{account}
{
\addRowTTA
{\addRowEmptyEntryTTA}
{\addRowEntryTTA{1}{2}{3}{4}{12.36}}
}
{\addRowTTAResults{0}{12.36}{12.36}}
\end{document}
Resultando en:
! Misplaced \omit.
\multispan ->\omit
\@multispan
l.56 {\addRowTTAResults{0}{12.36}{12.36}}
Cuando cambio las siguientes líneas
{\addRowEntryTTA{1}{2}{3}{4}{12.36}}
{\addRowEmptyEntryTTA}
funciona. Pero quiero poder utilizar todas las combinaciones posibles de \addRowEntryTTA y \addRowEmptyEntryTTA para crear múltiples \addRowTTA.
Si no uso >{\raggedleft} también funciona, pero necesito tener un diseño determinado.
¿Cuál es la causa del error?
Respuesta1
\raggedleft
se redefine \\
para significar un salto de línea de texto irregular y eso evita que tenga el significado de fin de fila de la tabla.
Utilícelo \tabularnewline
en lugar de \\
para finalizar la fila de la tabla (esta es la definición normal guardada de \\
las tablas internas) o úselo \raggedleft\arraybackslash
y luego puede usarlo \\
nuevamente como \arraybackslash
redefinición \\
para tener su significado de matriz/tabular.