Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

Re: Off-Topic: Einheiten und Zahlen

von Mattu » Di 17. Apr 2018, 13:16

Anonymous hat 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!
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.

Dank für Fragenbeantwortung

von Mattu » Di 17. Apr 2018, 13:09

markusv hat 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" :D) 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 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 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 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

Off-Topic: Einheiten und Zahlen

von Gast » Di 17. Apr 2018, 08:34

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.

Re: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

von Gast » Di 17. Apr 2018, 08:27

markusv hat geschrieben:
Mattu hat 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:
\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 [d]booktabs[/d] bzw. [d]booktabs-de[/d].

Re: Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

von markusv » Di 17. Apr 2018, 07:34

Moin!
Mattu hat 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 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:
\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}

Vertikal zentrierter Zelleninhalt trotz Zeilenumbruch

von Mattu » Mo 16. Apr 2018, 20:34

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:
\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 \arraybackslash in Zellendefinition, mit \newline, \linebreak, parbox, shortstack... Sonst finde ich nichts.

Nach oben