ich möchte gerne einen neuen Spaltentyp definieren, bei dem die vorher definierte Länge mit einem bestimmten Wert (nämlich dem, der als Argument übergeben wird) multipliziert wird. Also anstatt bspl. p{3cm} an longtable zu übergeben, möchte ich P{0.12} übergeben, wobei die 0.12 nur als Faktor für eine andere (zuvor definierte) Länge dienen sollen.
Vielleicht wird es an dem MB deutlicher.
\documentclass[11pt, oneside]{article} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{geometry} \geometry{a4paper} \usepackage[parfill]{parskip} \usepackage{graphicx} \usepackage{amssymb} \usepackage{longtable} \usepackage{booktabs} \usepackage{array} \usepackage{calc} \newlength{\Spaltenteiler} \newlength{\Hilfsleng} \setlength{\Spaltenteiler}{\textwidth-2\tabcolsep} %Längendefinition funktioniert \newcolumntype{P}[1]{ \setlength{\Hilfsleng}{#1\Spaltenteiler} %Hier klappt es nicht p{\Hilfsleng} } \begin{document} \begin{longtable}{P{0.125}P{0.1}P{0.3}P{0.125}} %Spaltendefinition \caption{Tabelle}\\ \toprule \addlinespace Tab1 & Tab2 & Tab3 & Tab4\\ \addlinespace \midrule \endfirsthead \toprule \midrule \endhead Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text\\ \end{longtable} \end{document}
./Ohne-Titel.tex:30: Package array Error: Illegal pream-token (\setlength): `c ' used. See the array package documentation for explanation. Type H <return> for immediate help. ... l.30 ...n{longtable}{P{0.125}P{0.1}P{0.3}P{0.125}} ?
\documentclass[11pt, oneside]{article} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{geometry} \geometry{a4paper} \usepackage[parfill]{parskip} \usepackage{graphicx} \usepackage{amssymb} \usepackage{longtable} \usepackage{booktabs} \usepackage{array} \usepackage{calc} \newlength{\Spaltenteiler} \newlength{\Hilfsleng} \setlength{\Spaltenteiler}{\textwidth-2\tabcolsep} %Längendefinition funktioniert \begin{document} \begin{longtable}{p{0.125\Spaltenteiler}p{0.1\Spaltenteiler}p{0.3\Spaltenteiler}p{0.125\Spaltenteiler}} %Spaltendefinition \caption{Tabelle}\\ \toprule \addlinespace Tab1 & Tab2 & Tab3 & Tab4\\ \addlinespace \midrule \endfirsthead \toprule \midrule \endhead Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text\\ \addlinespace Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text & Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text, Das ist ein langer Text\\ \addlinespace \end{longtable} \end{document}