goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Dynamische Zeilenhöhe in Tabelle

 

EliasvonB
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 08.03.16
Wohnort: Berlin
Version: pdfTeX 2.6-1.40.15
     Beitrag Verfasst am: 01.02.2018, 10:59     Titel: Dynamische Zeilenhöhe in Tabelle
  Antworten mit Zitat      
Guten Tag,

nach langen Recherchen und einer Menge ausprobieren ohne Erfolg, hoffe ich nun, dass es hier jemanden gibt, der mir bei meinem Problem weiterhelfen kann.

Das Problem lässt sich wie folgt beschreiben: der Text (i i i i..) hat eine variable Anzahl an Zeichen. Daher ist es entscheidend, wie sich die anderen Elemente verhalten. Das gewünschte Verhalten ist, dass, solange der Text keinen Overflow erzeugt, die beiden Bilder und die beiden Barcodes einer Zeile jeweils auf der selben Höhe sind. Richtig zu sehen bei den unteren beiden Zeilen.
Kommt es allerdings zu einem Overflow, soll sich der Abstand zwischen den Tabellenzeilen vergrößern, die beiden Barcodes einer Zeile sollen allerdings weiterhin auf der selben Höhe stehen(!).

Zunächst bin ich davon ausgegangen das ein \vfill zwischen dem "0000/00" und dem Barcode mir bei der Sache helfen kann, allerdings musste ich dann feststellen, dass dies innerhalb einer \minipage nicht funktioniert.
Eine feste Höhe mit \vspace oder eine \minipage mit fester Höhe kann nicht benutzt werden.

Hat jemand eine Idee, wie sich die Anforderungen realisieren lassen?

Zur besseren Veranschaulichung anbei auch noch ein Bild des jetzigen Ergebnisses aus unten stehendem Code.

Vielen Dank!

Gruß EliasvonB


Code • Öffne in Overleaf

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{tabularx}
\usepackage{calc}
\usepackage{tabulary}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage[left=1cm,right=1cm,top=1.1cm,bottom=1cm]{geometry}
\usepackage{graphicx}
\usepackage{eso-pic}
\usepackage{pst-barcode}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{empty}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{ragged2e}
\RequirePackage{fix-cm}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{mwe}

\newcommand*{\topadjust}[1]{%
  \raisebox{\dimexpr \ht\strutbox-\totalheight\relax}{#1}%
}

\def\barcode#1#2#3#4#5#6#7{\begingroup%
  \dimen0=0.093em
  \def\stack##1##2{\oalign{##1\cr\hidewidth##2\hidewidth}}%
  \def\0##1{\kern##1\dimen0}%
  \def\1##1{\vrule height4ex width##1\dimen0}%
  \def\L##1{\ifcase##1\bc3211##1\or\bc2221##1\or\bc2122##1\or\bc1411##1%
    \or\bc1132##1\or\bc1231##1\or\bc1114##1\or\bc1312##1\or\bc1213##1%
    \or\bc3112##1\fi}%
  \def\R##1{\bgroup\let\next\1\let\1\0\let\0\next\L##1\egroup}%
  \def\G##1{\bgroup\let\bc\bcg\L##1\egroup}% reverse
  \def\bc##1##2##3##4##5{\stack{\0##1\1##2\0##3\1##4}##5}%
  \def\bcg##1##2##3##4##5{\stack{\0##4\1##3\0##2\1##1}##5}%
  \def\bcR##1##2##3##4##5##6{\R##1\R##2\R##3\R##4\R##5\R##6\11\01\11\09%
    \endgroup}%
  \stack{\09}#1\11\01\11\L#2%
  \ifcase#1\L#3\L#4\L#5\L#6\L#7\or\L#3\G#4\L#5\G#6\G#7%
    \or\L#3\G#4\G#5\L#6\G#7\or\L#3\G#4\G#5\G#6\L#7%
    \or\G#3\L#4\L#5\G#6\G#7\or\G#3\G#4\L#5\L#6\G#7%
    \or\G#3\G#4\G#5\L#6\L#7\or\G#3\L#4\G#5\L#6\G#7%
    \or\G#3\L#4\G#5\G#6\L#7\or\G#3\G#4\L#5\G#6\L#7%
  \fi\01\11\01\11\01\bcR}

\begin{document}
   \sffamily
   \begin{longtable}{>{\raggedright}p{0.12\textwidth}@{\quad}p{0.33\textwidth}p{0.03\textwidth}>{\raggedright}p{0.12\textwidth}@{\quad}p{0.33\textwidth}p{0.000001\textwidth}}

      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i \newline 00000/00 \vfill \hspace*{2.6cm} \barcode 3041762288363 \end{minipage} & &
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} \vfill \hspace*{2.6cm} \barcode 3041762288363 & \\[2.75cm]

      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i \newline 00000/00 \vfill \hspace*{2.6cm} \barcode 3041762288363 \end{minipage} & &
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} \vfill \hspace*{2.6cm} \barcode 3041762288363 & \\[2.75cm]
     
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i  \newline 00000/00 \vfill \hspace*{2.6cm} \barcode 3041762288363 \end{minipage} & &
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} \vfill \hspace*{2.6cm} \barcode 3041762288363 & \\[2.75cm]
     
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i  \newline 00000/00 \vfill \hspace*{2.6cm} \barcode 3041762288363 \end{minipage} & &
      \topadjust{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} \vfill \hspace*{2.6cm} \barcode 3041762288363 & \\[2.75cm]
     
   \end{longtable}
\end{document}
 
[/code]

Forum_Beispiel.pdf
 Beschreibung:

Download
 Dateiname:  Forum_Beispiel.pdf
 Dateigröße:  27.12 KB
 Heruntergeladen:  39 mal

_________________

Keep IT real.
Private Nachricht senden Benutzer-Profile anzeigen

EliasvonB
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 08.03.16
Wohnort: Berlin
Version: pdfTeX 2.6-1.40.15
     Beitrag Verfasst am: 12.02.2018, 10:47     Titel: Background-color in Multirow
  Antworten mit Zitat      
Guten Tag,

ich habe mittlerweile eine Lösung für mein Problem gefunden:

Code • Öffne in Overleaf

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage[left=1cm,right=1cm,top=0.8cm,bottom=0.9cm,headheight=0.3cm,footskip=0.3cm,includehead,includefoot]{geometry}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{multirow}
\usepackage[table]{xcolor}
\pagestyle{empty}
\def\TotalPages=\pageref{LastPage}
\newcommand{\pagemark}{\thepage\ / \pageref{LastPage}}
\renewcommand{\familydefault}{\sfdefault}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth
}{0.0pt}
\rfoot{\pagemark}
\begin{document}
\begin{longtable}{p{2.2cm}p{5.6cm}p{1.2cm}p{2.2cm}p{5.6cm}}
\multirow{2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} & & \multirow{2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} \tabularnewline [1.62cm] \nopagebreak
                                                                & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} & & & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} \tabularnewline [0.5cm]

\multirow{2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} & & \multirow{2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} \tabularnewline [1.62cm] \nopagebreak
                                                                & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} & & & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} \tabularnewline [0.5cm]
\end{longtable}
\end{document}

 


Nun gibt es aber leider ein neues Problem und zwar würde ich gerne jeder zweiten Reihe (eine Reihe = zwei Zeilen) eine Hintergrundfarbe geben. Dabei bin ich auf das bekannte Problem mit \rowcolor und \multirow gestoßen.
Viele konnten das Problem lösen, indem sie die \multirow am Ende platziert haben und die Spaltenanzahl dann negiert haben. Leider funktioniert das in meinem Fall nicht oder ich habe es falsch umgesetzt.
Ich hoffe, dass mir dazu jemand einen Tipp geben kann. Anbei die Ausgaben beider Quellcodes.

Code • Öffne in Overleaf

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage[left=1cm,right=1cm,top=0.8cm,bottom=0.9cm,headheight=0.3cm,footskip=0.3cm,includehead,includefoot]{geometry}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{multirow}
\usepackage[table]{xcolor}
\pagestyle{empty}
\def\TotalPages=\pageref{LastPage}
\newcommand{\pagemark}{\thepage\ / \pageref{LastPage}}
\renewcommand{\familydefault}{\sfdefault}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth
}{0.0pt}
\rfoot{\pagemark}
\begin{document}
\begin{longtable}{p{2.2cm}p{5.6cm}p{1.2cm}p{2.2cm}p{5.6cm}}
\rowcolor{lightgray!25}                                                                  & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i \newline 00000/00 \end{minipage} & & & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} \tabularnewline [1.62cm] \nopagebreak
\rowcolor{lightgray!25} \multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} & & \multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} \tabularnewline [0.5cm]

                                                                 & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i \newline 00000/00 \end{minipage} & & & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} \tabularnewline [1.62cm] \nopagebreak
\multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} & & \multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} \tabularnewline [0.5cm]

\rowcolor{lightgray!25}                                                                  & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i i i i \newline 00000/00 \end{minipage} & & & \begin{minipage}[t]{6cm} \leavevmode \newline i i i i i i i i i i \newline 00000/00 \end{minipage} \tabularnewline [1.62cm] \nopagebreak
\rowcolor{lightgray!25} \multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} & & \multirow{-2}{*}{\includegraphics[width=\linewidth]{test99.png}} & \begin{minipage}[b]{6cm} \hspace*{2.3cm} BARCODE \end{minipage} \tabularnewline [0.5cm]
\end{longtable}
\end{document}
 


Schon mal vielen Dank im voraus!

Gruß EliasvonB

second_code.pdf
 Beschreibung:

Download
 Dateiname:  second_code.pdf
 Dateigröße:  11.29 KB
 Heruntergeladen:  16 mal
first_code.pdf
 Beschreibung:

Download
 Dateiname:  first_code.pdf
 Dateigröße:  11.03 KB
 Heruntergeladen:  14 mal

_________________

Keep IT real.
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de