TU-Dresden » Startseite Forum » Forum

TU-Dresden Forum

Aktuelle Zeit: Donnerstag 2. Dezember 2021, 16:31

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tabulary Tabelle vertikal zentrieren
BeitragVerfasst: Mittwoch 6. Januar 2021, 00:39 
Offline

Registriert: Samstag 8. Dezember 2018, 12:09
Beiträge: 11
Hallo zusammen,

besteht die Möglichkeit eine Tabulary-Tabelle vertikal zu zentrieren? Ich habe hierfür das folgende Minimalbeispiel:
Code:
%\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} %richtige Worttrennung
\documentclass[ngerman, % neue deutsche Rechtschreibung
a4paper,
%cdhead=paperwidth, %Ausdehnung des Querbalkens erstreckt sich über die komplette Seitenbreite
%cdtitle=color, % Titelseite in Farbe (CD-Blau)
cd=pale, % primäre Hausfarbe HKS41 für den Kopf des tudheadings-Seitenstils und Überschriften
cdgeometry=twoside,
%geometry=normal,
BCOR=6mm,
chapterpage=off, % Überschrift eines Kapitels separat auf einer Seite ausgegeben
%appendixprefix=false,
numbers=noendperiod,noperiodatend,noenddot,nodotatend,
bibliography=totoc,
listof=totoc,index=totoc
liststotoc,
tudscrver=2.06, % Kompatibilitätseinstellung für TUD-Script v2.06f und wird für zukünftige Änderungen bereits vorgehalten
]{tudscrbook}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% TABELLEN %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%\usepackage{array}            % Tabellen-Werkzeug
\usepackage{multirow}         % erw. Tabellen-Werkzeug
\usepackage{tabularx}
%\renewcommand\tabularxcolumn[1]{m{#1}} %Tabularx Tabelle vertikal zentrieren
\usepackage{tabulary}
\usepackage{tabu}
\usepackage{ltxtable}
\usepackage{longtable}
\usepackage{booktabs}      %Horizontale Linien
\usepackage{threeparttable} % Legende unter Tabellen
\usepackage{colortbl}         %Einfärben von Tabellen
\usepackage{units}            % Zum Erstellen korrekter typograph. Einheiten
\usepackage{floatrow}        %Platzierung der Beschriftung
\floatsetup{font=sf}
\floatsetup[table]{style=plaintop}  %Tabellen oberhalb beschriften
\usepackage{caption}
\usepackage{rotating} %Tabellen ins Querformat drehen

\usepackage[math]{blindtext}  % Fülltext erzeugen

\begin{document}


      \begin{tabulary}{\textwidth}{m{1.5cm}m{1.5cm}m{1.5cm}C}
    \rowcolor[rgb]{ .024,  .157,  .286} \multicolumn{4}{c}{\textcolor[rgb]{ 1,  1,  1}{\textbf{Zeitstempel}}} \\
    \rowcolor[rgb]{ .835,  .863,  .902} \textcolor[rgb]{ 0,  .157,  .294}{\textbf{Prozess}} & \textcolor[rgb]{ 0,  .157,  .294}{\textbf{Sub-Prozess}} & \textcolor[rgb]{ 0,  .157,  .294}{\textbf{Symbol}} & \textcolor[rgb]{ 0,  .157,  .294}{\textbf{Bezeichnung}} \\
    \multirow{4}[8]{*}{{\begin{turn}{90} Vorbereitung                    \end{turn}}} & xy         &\centering \arraybackslash x          & \blindtext[2] \\
\cmidrule{2-4}               & xz         &            &  \\
\cmidrule{2-4}               &            &            &  \\
\cmidrule{2-4}               &            &            &  \\
    \midrule[1.25pt]
    \multirow{4}[8]{*}{2} & xy         & x          & Test \\
\cmidrule{2-4}               & xz         &            &  \\
\cmidrule{2-4}               &            &            &  \\
\cmidrule{2-4}               &            &            &  \\
  \midrule[1.25pt]
    \multirow{4}[8]{*}{3} & xy         & x          & Test \\
\cmidrule{2-4}               & xz         &            &  \\
\cmidrule{2-4}               &            &            &  \\
\cmidrule{2-4}               &            &            &  \\
    \bottomrule
\end{tabulary}

\end{document}


Im Ergebnis sollen die Spalten eins bis drei zentriert zum langen Text der Bezeichnung gesetzt werden. Bisher habe ich nur eine Möglichkeit mit tabularx gefunden, allerdings gefällt mir die tabulary Umgebung persönlich besser. da hier die Spaltenbreiten automatisch entsprechnd des Inhaltes gesetzt werden.

in der tabularx Umgebung lässt sich die vertikale Zentrierung wie folgt realisieren:

Code:
\renewcommand\tabularxcolumn[1]{>{\centering\arraybackslash}m{#1}}

Dabei den Begriff \tabularxcolumn in \tabularycolumn umzuwandeln, hat leider nicht zum Erfolg geführt.

Über eine passende Idee zur Umsetzung freue ich mich.

VG ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabulary Tabelle vertikal zentrieren
BeitragVerfasst: Mittwoch 6. Januar 2021, 18:13 
Offline

Registriert: Freitag 9. September 2011, 14:57
Beiträge: 541
Misterx hat geschrieben:
Ich habe hierfür das folgende Minimalbeispiel

Also minimal ist das Beispiel mit Sicherheit nicht. Da dies keine spezifische Frage bzgl. TUD-Script ist, würde ich dir vorschlagen, dich zukünftig in einer größeren Community wie bspw. https://tex.stackexchange.com/ umzusehen, um schnell Hilfe zu erhalten.

Noch ein Hinweis: Die CD-Farben musst du dir nicht mühselig selber zusammenbasteln, diese werden durch TUD-Script bereits definiert und können bspw. mit \rowcolor{HKS41} oder \rowcolor{HKS41!10} genutzt werden.

Der wahrscheinlich am besten funktionierende Ansatz wäre es wohl, den größten Inhalt einer Zeile passend in einer minipage auszurichten. Hier ein passendes MWE:
Code:
\documentclass{scrartcl}

\usepackage{tabulary}
\usepackage{graphicx} % für \rotatebox, wird von tudscr ohnehin geladen

\usepackage{blindtext}
%\usepackage{showframe}

\begin{document}
\noindent
  \begin{tabulary}{\textwidth}{m{1cm}m{1cm}C}
    \hline
    Prozess & Symbol & Bezeichnung \tabularnewline
    \hline
    \rotatebox[origin=t]{90}{\llap{\fbox{texttexttext}}} & xxx &
    \begin{minipage}[t]{\linewidth}\blindtext\end{minipage}
    \tabularnewline
    \hline
    \rotatebox{90}{\fbox{texttexttext}} & xxx &
    \begin{minipage}{\linewidth}\blindtext\end{minipage}
    \tabularnewline
    \hline
    \rotatebox[origin=b]{90}{\rlap{\fbox{texttexttext}}} & xxx &
    \begin{minipage}[b]{\linewidth}\blindtext\end{minipage}
    \tabularnewline
    \hline
\end{tabulary}
\end{document}


Für die rotierten Inhalte in der ersten Zeile kannst du einfach \rotatebox verwenden. Die Befehle \rlap und \llap richten die Inhalte in der Box entweder links- oder rechtsbündig aus.

Um die Inhalte in der minipage vernünftig auszurichten, fehlt für die Zentrierung noch \centering. Für die passenden Abstände kannst du den eigentlichen Inhalt noch zwischen \strut...\strut packen. Und für eine einfache Verwendung machst du noch ein Makro daraus.

Code:
\documentclass{scrartcl}

\usepackage{tabulary}
\usepackage{graphicx} % für \rotatebox, wird von tudscr ohnehin geladen

\usepackage{blindtext}
%\usepackage{showframe}

\begin{document}
\newcommand*\tabularbox[2][c]{%
  \begin{minipage}[#1]{\linewidth}\centering\strut#2\strut\end{minipage}%
}

\noindent
\begin{tabulary}{\textwidth}{m{1cm}m{1cm}C}
  \hline
  Prozess & Symbol & Bezeichnung \tabularnewline
  \hline
  \rotatebox[origin=t]{90}{\llap{\fbox{texttexttext}}} & xxx &
  \tabularbox[t]{\blindtext}
  \tabularnewline
  \hline
  \rotatebox{90}{\fbox{texttexttext}} & xxx &
  \tabularbox{\blindtext}
  \tabularnewline
  \hline
  \rotatebox[origin=b]{90}{\rlap{\fbox{texttexttext}}} & xxx &
  \tabularbox[b]{\blindtext}
  \tabularnewline
  \hline
\end{tabulary}
\end{document}


Je nachdem, wie der Inhalt in der ersten Spalte rotiert werden soll, kannst du dir hierfür auch noch ein Makro basteln.

Grüße
Falk

_________________
TUD-Script-Klassen für das Corporate Design der TU Dresden

Anwenderhandbuch: CTAN-Mirror oder texdoc tudscr
Anwenderleitfaden: CTAN-Mirror oder texdoc treatise
Schriftinstallation: Skripte zum Download

LyX-Layoutdateien und Befehlsvervollständigung für TeXstudio
Übersicht zu allen veröffentlichten Versionen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tabulary Tabelle vertikal zentrieren
BeitragVerfasst: Samstag 9. Januar 2021, 17:06 
Offline

Registriert: Samstag 8. Dezember 2018, 12:09
Beiträge: 11
Vielen Dank für deine Antwort, Falk.
Das passt soweit.

Danke auch für den Tipp mit den Farben. Den aufwendigen Code hat das Tool Excel2Latex erstellt. ;)

VG


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron