goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


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


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

 

Mattu
Forum-Anfänger
Forum-Anfänger

Beiträge: 29
Anmeldedatum: 01.11.14
Wohnort: Pahkla, Estland
Version: MiKTeX 2.9
     Beitrag Verfasst am: 16.04.2018, 20:34     Titel: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch
  Antworten mit Zitat      
In folgendem Beispiel verwende ich einen selbstdefinierten Zellentyp, der auf den vertikal zentrierten Zellentyp m des tabularx-Pakets zurückgreift. Außerdem verbinde ich zwei solcher Zellen mit \multirow. Eine benachbarte Zelle bricht jedoch automatisch um und ist somit höher als die andere benachbarte Zelle der zweizeiligen Zelle. Der Text in der zweizeiligen Zelle wird jedoch genau auf die Trennlinie zwischen den beiden benachbarten Zellen (unterschiedlicher Höhe) gesetzt, anstatt auf die mittlere Höhe, wie ich es gerne hätte:

Code • Öffne in Overleaf

\documentclass[DIV=35, paper = A4, paper = landscape]{scrartcl} %DIV = 35, da ich praktisch keinen Rand will
\usepackage[UTF8]{inputenc}    % für Zeichen wie Umlaute etc.
\usepackage{tabularx}      % um Tabellen mit definierter Breite erstellen zu können
\newcolumntype{C}[1]{>{\centering}m{#1}}   %Spalte horizontal (centering) und vertikal (Typ m) zentriert mit Breitenangabe
\usepackage{multirow}       % um mehrere Zellen einer Spalte verbinden zu können (mehrere Zeilen einer Spalte)

\begin{document}
\pagestyle{empty}

\vspace*{-10pt}\noindent\begin{tabularx}{\linewidth}{|C{2cm}|C{12.8cm}|C{2.4cm}|C{2.4cm}|C{2cm}|c|}
\hline
   \multirow{2}{*}{Kuupäev} & \multirow{2}{*}{Sõidu eesmärk (maršruut)} & \multicolumn{2}{|c|}{Spidomeetri näit} & \multirow{2}{*}{\hspace*{-2pt}Läbisõit [km]} & \multirow{2}{*}{Kasutaja (allkiri)}\\ \cline{3-4}
    & & {sõitu alustades} & {sõitu lõpetades} & &\tabularnewline\hline
    & & & & & \tabularnewline\hline
\end{tabularx}
\end{document}
 


Weiß jemand Rat, wie ich den text auf die mittlere Höhe der Zelle bekomme?

Und als Bonusfrage habe ich noch diese: Gibt es eine Möglichkeit zwischen "Läbisõit" und "[km]" umzubrechen? Egal wie ich es versuche (automatisch (durch Verkleinerung der Zelle, die ohnehin ansteht), manuell: Mit \\[/] und Verzicht auf [t]\arraybackslash in Zellendefinition, mit \newline, \linebreak, parbox, shortstack... Sonst finde ich nichts.
Private Nachricht senden Benutzer-Profile anzeigen

markusv
Forum-Meister
Forum-Meister

Beiträge: 592
Anmeldedatum: 03.09.15
Wohnort: Leipzig
Version: ---
     Beitrag Verfasst am: 17.04.2018, 07:34     Titel: Re: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch
  Antworten mit Zitat      
Moin!

Mattu hat Folgendes geschrieben:
Weiß jemand Rat, wie ich den text auf die mittlere Höhe der Zelle bekomme?
Wenn die Zelle über 3 Zeilen geht, solltest du das der Zelle sagen. Also statt \multirow{2}... entsprechend \multirow{3}...

Mattu hat Folgendes geschrieben:
Und als Bonusfrage habe ich noch diese: Gibt es eine Möglichkeit zwischen "Läbisõit" und "[km]" umzubrechen?
Gib eine definierte Länge an, also bspw. \multirow{3}{2cm}... statt \multirow{3}{*}....

Im Beispiel:
Code • Öffne in Overleaf
\documentclass[DIV=35,paper=landscape]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\newcolumntype{C}[1]{>{\centering}m{#1}}
\usepackage{multirow}

\begin{document}
\begin{tabularx}{\linewidth}{|C{2cm}|C{12.8cm}|C{2.4cm}|C{2.4cm}|C{2cm}|c|}
\hline
   \multirow{3}{*}{Kuupäev} & \multirow{3}{*}{Sõidu eesmärk (maršruut)} & \multicolumn{2}{|c|}{Spidomeetri näit} & \multirow{3}{2cm}{\centering Läbisõit [km]} & \multirow{3}{*}{Kasutaja (allkiri)}\\ \cline{3-4}
    & & {sõitu alustades} & {sõitu lõpetades} & &\\\hline
\end{tabularx}
\end{document}

_________________

Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2018, 08:27     Titel: Re: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch
  Antworten mit Zitat      
markusv hat Folgendes geschrieben:
Mattu hat Folgendes geschrieben:
Und als Bonusfrage habe ich noch diese: Gibt es eine Möglichkeit zwischen "Läbisõit" und "[km]" umzubrechen?
Gib eine definierte Länge an, also bspw. \multirow{3}{2cm}... statt \multirow{3}{*}....

Alternativ kann man auch eine innere Tabelle verwenden:
Code • Öffne in Overleaf
\documentclass[DIV=35,paper=landscape]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\newcolumntype{C}[1]{>{\centering}m{#1}}
\usepackage{multirow}

\begin{document}
\begin{tabularx}{\linewidth}{|C{2cm}|C{12.8cm}|C{2.4cm}|C{2.4cm}|C{2cm}|c|}
\hline
   \multirow{3}{*}{Kuupäev} & \multirow{3}{*}{Sõidu eesmärk (maršruut)} & \multicolumn{2}{|c|}{Spidomeetri näit} & \multirow{3}{*}{\begin{tabular}{@{}c@{}} Läbisõit\\\relax [km]\end{tabular}} & \multirow{3}{*}{Kasutaja (allkiri)}\\ \cline{3-4}
    & & {sõitu alustades} & {sõitu lõpetades} & &\\\hline
\end{tabularx}
\end{document}

Das \relax ist hier wichtig, weil sonst [km] als optionales Argument von \\ interpretiert wird, was natürlich nicht gewollt ist und zu einer Fehlermeldung führen würde.

Noch ein Tipp: Vermeide nach Möglichkeit vertikale Linien in Tabellen. Sie verbessern die Lesbarkeit meist nicht, sondern verschlechtern sie. Siehe auch booktabs bzw. booktabs-de.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2018, 08:34     Titel: Off-Topic: Einheiten und Zahlen
  Antworten mit Zitat      
BTW: Einheiten in eckige Klammern zu setzen ist bei Laien zwar sehr beliebt, aber eigentlich nicht korrekt. Eckige Klammern haben nach SI die Bedeutung Einheit von, was etwas ganz anderes ist als in der Einheit. Korrekt wäre daher beispielsweise die Verwendung von eckigen Klammern für [Läbisõit] = km. Ich glaube es gibt entsprechende Hinweise mehrfach im Forum. So dass ich das nicht weiter auszuwälzen gedenke.

Was ich aber eigentlich erwähnen wollte: Für Einheiten sei auf das Paket siunitx hingewiesen. Dieses bietet außerdem auch einen neuen Spaltentyp für Zahlen mit weitreichendem Einfluss auf die Formatierung derselben.

Mattu
Forum-Anfänger
Forum-Anfänger

Beiträge: 29
Anmeldedatum: 01.11.14
Wohnort: Pahkla, Estland
Version: MiKTeX 2.9
     Beitrag Verfasst am: 17.04.2018, 13:09     Titel: Dank für Fragenbeantwortung
  Antworten mit Zitat      
markusv hat Folgendes geschrieben:
Wenn die Zelle über 3 Zeilen geht, solltest du das der Zelle sagen. Also statt \multirow{2}... entsprechend \multirow{3}...

Oh, ich wusste nicht, dass es der Multizelle darum geht, wie viele Zeilen sie umspannt -- ich ging automatisch von "Tabellenzeilen" (das meint Zellen) aus. Da so auch automatische Umbrüche eine Änderung des Codes erfordern, ist dieser nur noch durch mehrmaliges ausprobieren (der Wissenschaftler würde sagen "iterativ" Very Happy) zu schreiben. Das gefällt mir zwar nicht, ist aber ein Problem des Pakets multirow und daher nicht hier Thema. Die Lösung funktioniert einwandfrei! Dankeschön markusv dafür!

markusv hat Folgendes geschrieben:
Gib eine definierte Länge an, also bspw. \multirow{3}{2cm}... statt \multirow{3}{*}....

Verdammt, hier hatte ich die Zellenbreite nicht festzulegen versucht (nur im Tabellenkopf). Da habe ich im für mich neuen Feld Tabellenerstellung mit LaTeX leider die Übersicht verloren. Auch das funktioniert einwandfrei, dankeschön markusv!

Gast hat Folgendes geschrieben:
Das \relax ist hier wichtig, weil sonst [km] als optionales Argument von \\ interpretiert wird, was natürlich nicht gewollt ist und zu einer Fehlermeldung führen würde.

Sehr interessante Zusatzinformation! Dankeschön!

Gast hat Folgendes geschrieben:
Noch ein Tipp: Vermeide nach Möglichkeit vertikale Linien in Tabellen. Sie verbessern die Lesbarkeit meist nicht, sondern verschlechtern sie

Das mag für darstellende Tabellen gelten (ich werde mich bei Gelegenheit davon überzeugen), diese Tabelle soll aber gar nicht in erster Linie gut lesbar sein, sondern gut ausfüllbar -- und in diesem Fall sind vertikale Linien sehr hilfreich, das habe ich oftmals festgestellt (als sie fehlten).

Danke den Antwortenden!
Matthias
Private Nachricht senden Benutzer-Profile anzeigen

Mattu
Forum-Anfänger
Forum-Anfänger

Beiträge: 29
Anmeldedatum: 01.11.14
Wohnort: Pahkla, Estland
Version: MiKTeX 2.9
     Beitrag Verfasst am: 17.04.2018, 13:16     Titel: Re: Off-Topic: Einheiten und Zahlen
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
BTW: Einheiten in eckige Klammern zu setzen ist bei Laien zwar sehr beliebt, aber eigentlich nicht korrekt. Eckige Klammern haben nach SI die Bedeutung Einheit von, was etwas ganz anderes ist als in der Einheit. Korrekt wäre daher beispielsweise die Verwendung von eckigen Klammern für [Läbisõit] = km. Ich glaube es gibt entsprechende Hinweise mehrfach im Forum. So dass ich das nicht weiter auszuwälzen gedenke.

Sehr gut zu wissen! Danke!

Zitat:
Was ich aber eigentlich erwähnen wollte: Für Einheiten sei auf das Paket siunitx hingewiesen. Dieses bietet außerdem auch einen neuen Spaltentyp für Zahlen mit weitreichendem Einfluss auf die Formatierung derselben.

Ich wusste nicht, das siunitx auch einen eigenen Spaltentyp zur Verfügung stellt. Danke für den Tipp! Hier wird die Tabelle allerdings mit dem Stift in der Hand ausgefüllt, daher hier nicht notwendig.
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


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de