I want to create a Table with all Rows the same height, indepent how many lines of text they actually have. If the largest amount for a row/cell is three lines, all row should have a height if the had three lines. In the real project all latex files/textcontent is created with a script dynamiclly, manual adjustments for indivual lines is no solution.
I tried different solutions, which i found on stackexchange with my example table below, but none of them work completely.
The code below is a stripped down example with the basic layout i want to achieve
\documentclass{article}
\usepackage[useui]{eforms}
\usepackage{hyperref}
\usepackage{tabularx}
\usepackage{pgf}
\usepackage{ifthen}
\everyTextField{\textSize{9}\W{0}}
% Helper function
% Aligment, Name, Textsize, Width, Value
\newcommand{\TextInputSize}[5][\empty]{%
\pgfmathsetmacro{\FieldHeight}{1.167*#3-0.19}%
\ifthenelse{\equal{#1}{\empty}}{%
\textField[\ui{border=invisible,textsize={#3},value={#5}}]{#2}{#4}{\FieldHeight pt}%
}{%
\textField[\ui{align={#1},border=invisible,textsize={#3},value={#5}}]{#2}{#4}{\FieldHeight pt}%
}%
}
% Helper function
% Aligment, Name, Textsize, Width, Value
\newcommand{\TextInputSizeTwoLine}[5][\empty]{%
\pgfmathsetmacro{\FieldHeight}{(1.167*#3-0.19)*2}%
\ifthenelse{\equal{#1}{\empty}}{%
\textField[\ui{autocenter=no,border=invisible,fieldflags={multiline,noscrolling},textsize={#3},value={#5}}]{#2}{#4}{\FieldHeight pt}%
}{%
\textField[\ui{autocenter=no,align={#1},border=invisible,fieldflags={multiline,noscrolling},textsize={#3},value={#5}}]{#2}{#4}{\FieldHeight pt}%
}%
}
% creates a multiline Textfield
% TextSize, Name, Value
\newcommand{\CellTextFieldTwoLine}[3][11]{%
\pgfmathsetmacro{\FieldHeightOffset}{-0.21*#1+0.08}%
\raisebox{\FieldHeightOffset pt}{\TextInputSizeTwoLine[centered]{#2}{#1}{\linewidth-2pt}{#3}}%
}
% creates a multiline Textfield with ohter text style
% Textsize, Name, Value
\newcommand{\CellTextFieldTitleTwoLines}[3][0]{%
\pgfmathsetmacro{\FieldHeight}{(1.130*#1-0.37)*2}%
\pgfmathsetmacro{\FieldHeightOffset}{-0.21*#1+0.08}%
\hspace*{-2pt}\raisebox{\FieldHeightOffset pt}{\textField[\ui{autocenter=no,border=invisible,fieldflags={multiline,noscrolling},textfont={CaslonAntique-Bold},textsize={#1},value={#3}}]{#2}{\linewidth-2pt}{\FieldHeight pt}}%
}
% creates a normal Textfield
% TextSize, Name, Width, Value
\newcommand{\CellTextFieldLeftAlign}[4][11]{%
\pgfmathsetmacro{\FieldHeightOffset}{-0.21*#1+0.08}%
\raisebox{\FieldHeightOffset pt}{\TextInputSize{#2}{#1}{#3}{#4}}%
}
\begin{document}
\tiny\normalfont\bfseries
\begin{tabularx}{\columnwidth}{p{0.3cm}|p{2.8cm}X}
\multicolumn{3}{l}{\Large Allgemeine Sonderfertigkeiten}
\tabularnewline\hline%
\CheckBox[name=Kulturkunde2,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Kulturkunde}&
{Gesellschaftliche Interaktionen sind ohne zur Situation passenden Kulturkunde erschwert}%
\tabularnewline%
& \multicolumn{2}{l}{\CellTextFieldLeftAlign{Kulturkunde2}{\linewidth-0.4cm}{}}%
\tabularnewline%
\hline%
\CheckBox[name=Ortskenntnis,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Ortskenntnis}&
{Ortsbezogene Proben-7 im gewählten Gebiet}%
\tabularnewline%
& \multicolumn{2}{l}{\CellTextFieldLeftAlign{Ortskenntnis}{\linewidth-0.4cm}{}}%
\tabularnewline%
\hline%
\CheckBox[name=AkklimatisierungHitze,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Akklimatisierung (Hitze)}&
{erleidet durch außergewöhnliche Umgebungswärme keinen Schaden}%
\tabularnewline%
\hline%
\CheckBox[name=AkklimatisierungKälte,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Akklimatisierung (Kälte)}&
{erleidet durch außergewöhnliche Umgebungskälte keinen Schaden}%
\tabularnewline%
\hline%
\CheckBox[name=Berufsgeheimnis,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Berufsgeheimnis}&
{kennt ein Geheimnis der Handwerkskunst, ermöglicht Verwendung besonderer Herstellungsverfahren oder spezieller Materialien}%
\tabularnewline%
& \multicolumn{2}{l}{\CellTextFieldLeftAlign{Berufsgeheimnis}{\linewidth-0.4cm}{}}%
\tabularnewline%
\hline%
\CheckBox[name=Fälscher,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Fälscher} &
{ermöglicht das effektive Fälschen von Schriftstücken und Kunstwerken}%
\tabularnewline%
\hline%
\CheckBox[name=MeisterderImprovisation,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Meister der Improvisation}&
{kann fehlendes Werkzeug durch Hilfsmittel kompensieren. Erschwernisse beim Ableiten von einen Handwerksstalent werden halbiert}%
\tabularnewline%
\hline%
\CheckBox[name=NandusgefälligesWissen,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Nandusgefälliges Wissen}&
{ermöglicht Wissen aus verwandten Gebieten zu kombinieren; Erschwernisse beim Ableiten von einen Wissenstalent werden halbiert}%
\tabularnewline%
\hline%
\CheckBox[name=Geländekunde,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
{\footnotesize Geländekunde}&
{Proben, die sich auf den Umgang mit diesem Gelände beziehen, sind um 3 Punkte erleichtert}%
\tabularnewline%
& \multicolumn{2}{p{\linewidth-0.3cm}}{
{Dschungel \CheckBox[name=Dschungel,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Eis \CheckBox[name=Eis,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Gebirge \CheckBox[name=Gebirge,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Höhle \CheckBox[name=Höhle,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Maraskan \CheckBox[name=Maraskan,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Meer \CheckBox[name=Meer,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Steppen \CheckBox[name=Steppen,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Sumpf \CheckBox[name=Sumpf,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Wald \CheckBox[name=Wald,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
{Wüste \CheckBox[name=Wüste,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{} \hskip 1em}%
}%
\tabularnewline%
\hline%
\CheckBox[name=CheckLeer,bordercolor=0.9 0.8 0.8, bordersep=0.1, backgroundcolor=, height=2ex,width=2ex]{}&
\CellTextFieldTitleTwoLines[9]{NameLeer}{Leer}&
\CellTextFieldTwoLine[7]{WirkungLeer}{Leer}%
\tabularnewline%
\hline%
\end{tabularx}
\end{document}