Spalten umwandeln, sodass \par in der Spalte funktioniert

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: Spalten umwandeln, sodass \par in der Spalte funktioniert

Re: Spalten umwandeln, sodass \par in der Spalte funktioniert

von KOMA » Do 18. Mär 2021, 09:27

Dass wenn man mit genau einer Zeile einer Tabelle ein Problem hat, man alle anderen Tabellen und weitgehend alle anderen Zeilen dieser Tabelle entfernen könnte, ist jetzt IMHO keine so überraschende Minimierungsmöglichkeit … :roll:

Ideal sind generell Minimalbeispiele, die man in ihrer Vollständigkeit überblicken kann. Wenn man für Anpassungen ewig im Quellcode scrollen muss, ist das etwas lästig. Ja, ich bin gerade in meiner Rolle als Helfer ein fauler Sack! Kleine Beispiele haben aber auch für Dich den Vorteil, dass Du ggf. Änderungen schneller findest, falls der Helfer wieder ein vollständiges Minimalbeispiel als Lösung postet.

Re: Spalten umwandeln, sodass \par in der Spalte funktioniert

von Nikolas_Tamere » Do 18. Mär 2021, 07:38

Vielen Dank, es hat geklappt!

Sorry für das zu große Beispiel, obwohl ich mir den Post dazu durchgelesen hatte, kann ich (aufgrund von nicht vorhandenem Wissen) irgendwie noch nicht so wirklich einschätzen was das Essentielle ist :|

Gruß

Re: Spalten umwandeln, sodass \par in der Spalte funktioniert

von Gute*r Gȧst*in » Mi 17. Mär 2021, 14:28

Achso, für den Fall, dass man das in mehreren Zeilen verwenden und deshalb die Spaltendeklaration generell ändern will, würde diese beispielsweise:

\begin{xltabular}{\textwidth}{Sc| >{\centering}m{1.5em} |X| X| c | c | >{\RaggedRight\bigstrut}m{\lastcolwd}}

lauten. Man kann auch das p in der Definition von C in m ändern und dann

\begin{xltabular}{\textwidth}{Sc| C{1.5em} |X| X| c | c | >{\RaggedRight\bigstrut}m{\lastcolwd}}

verwenden.

Re: Spalten umwandeln, sodass \par in der Spalte funktioniert

von Gute*r Gȧst*in » Mi 17. Mär 2021, 14:18

Die C-Spalten in deinem (viel zu großen) Beispiel verwenden p-Spalten. Bei denen wird die oberste Textzeile als Grundlinie verwendet. Es gibt auch b-Spalten. Bei denen ist die unterste Textzeile die Grundlinie. Und dann gibt es m-Spalten, bei denen die Mitte aller Zeilen als Grundlinie verwendet wird. m-Spalten werden bei dir ebenfalls bereits verwendet, beispielsweise für alle X-Spalten. Siehe dazu auch die array-Anleitung.

Wenn das nur an der einen Stelle benötigt wird, kann man dort auch einfach \multicolumn{1}{m{1.5em}|}{\centering 1.1 \par 1.2} oder {\begin{tabular}[c]{@{}c@{}} 1.1 \\ 1.2 \end{tabular}} oder \parbox[c]{1.5em}{\centering 1.1 \\ 1.2} verwenden.

Spalten umwandeln, sodass \par in der Spalte funktioniert

von Nikolas_Tamere » Mi 17. Mär 2021, 12:01

Hallo liebes Forum,

ich hatte bereits einen Thread in dem mir wirklich toll geholfen wurde (danke nochmals!) und dieses Thema bezieht sich darauf, daher der Link:

viewtopic.php?f=6&t=23687

Ich konnte den Code bei mir miteinfügen, auch konnte ich durch umstellen der Spaltenart bereits den \par Befehl nutzen, leider aber nicht richtig. In Zeile 88 möchte ich, dass 1.1 und 1.2 mittig untereinander steht. Ändere ich die Spalte in eine X Spalte, funktioniert es, aber die Spalte ist viel zu breit (da sie sich ja an die Tabelle anpassen in der Breite). Nutze ich eine definiert breite Spalte wie in folgendem Beispiel (im Code Zeile 73):

\begin{xltabular}{\textwidth}{Sc | C{0.9cm} | X | X | c | c |

habe ich das Problem, dass die beiden Werte zwar mit \par übereinander geschrieben werden können, sie aber in der Zeile nun nicht mehr mittig sind. Wahrscheinlich ist das auch wieder nur ein einzelner Befehl den ich nicht weiß, aber durch Internetrecherche hatte ich bisher leider keinen Erfolg (habe whs. einfach falsch gesucht, weiß aber auch nicht wonach ich suchen soll). Hoffentlich kann mir hier nochmal jemand helfen, ich bin für alle Anregungen sehr dankbar, gerne auch einen Link dahin, wo es erklärt wird!

\documentclass[usegeometry]{scrbook}


% Optionen für das Inhaltsverzeichnis
\KOMAoption{toc}{bibliography,listof}

% Schriftgröße, Trennungsstrich für Kopfzeile, Format A4, Bindungskorrektur für die Innenseite
\KOMAoptions{fontsize=12pt,headsepline=true,paper=a4,BCOR=17mm,headings=normal,captions=tableheading}

\usepackage{geometry}
% Fettgeschriebene Bezeichnungen für Bilder und Tabellen
\setkomafont{captionlabel}{\bfseries}

% Geforderte Schriftart
\usepackage{lmodern}

% Deutsche Trennung
\usepackage[ngerman]{babel}

% Eineinhalb Zeilen Abstand
\usepackage[onehalfspacing]{setspace}

% Wissenschaftliche Tabellen
\usepackage{booktabs}

% Code aus dem Tabellenbeispiel kopiert:
\usepackage[svgnames,table]{xcolor}% Wer tikz lädt, setzt die Optionen besser bei \documentclass oder \PassOptionsToPackage
\usepackage{multirow, makecell, cellspace, bigstrut}
\usepackage{ragged2e}
\usepackage{xltabular}% Paket ersetzt, weil xltabular die umgebung tabularx unverändert lässt.
\keepXColumns
\renewcommand\tabularxcolumn[1]{ >{\arraybackslash}m{#1}}
\usepackage{booktabs}
\newcolumntype{L}[1]{>{\RaggedRight}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newlength{\lastcolwd}
\settowidth{\lastcolwd}{Bermerkungen}
\newcommand\mymidrule{\specialrule{\lightrulewidth}{0pt}{\belowrulesep}}
\newcommand\mybottomrule{\specialrule{\heavyrulewidth}{0pt}{\belowrulesep}}
\newcommand\mytoprule{\specialrule{\heavyrulewidth}{0pt}{0pt}}

\setlength\cellspacetoplimit{5pt}
\setlength\cellspacebottomlimit{5pt}


\begin{document}
\pagestyle{headings}

\frontmatter

\begin{titlepage}
\begin{center}
hallo
\end{center}
\end{titlepage}

\storeareas\defaultareas
\newgeometry{inner=2.5cm,outer=2.5cm,top=2cm,bottom=1.0cm,includeheadfoot}
\sffamily
\begin{xltabular}{\textwidth}{@{}Sl|X|Sl @{}}% siehe Hinweis zu xltabular oben
  \mytoprule
  \makecell[lc]{B. Buiiea GmbH \& Co. KG \\ Konstruktion und\\ Entwicklung}
   & Datum der Erstellung: 01.01.17 \par\mbox{}\par Erstellt von: Max Mustermann
   & \makecell[lc]{Aktueller Stand: 02.01.17 \\ Index: 00\\ \mbox{}} \\
  \mymidrule
  \multicolumn{3}{@{}c@{}}{Anforderungsliste} \\
  \addlinespace
  \multicolumn{3}{@{} >{\centering}m{\textwidth}@{}}{Bla Bla Bla Bla Bla} \\
  \midrule
  \multicolumn{3}{@{}c@{}}{Projekt-Nr.: 1234567890} \\
  \multicolumn{3}{@{}c@{}}{Projektname}
\end{xltabular}
\begin{xltabular}{\textwidth}{Sc| Sc |X| X| c | c | >{\RaggedRight\bigstrut}m{\lastcolwd}}
  \specialrule{\lightrulewidth}{-4ex}{0pt}
  \multicolumn{6}{@{}c|@{}}{Anforderungen} & \makecell[lt]{F = Fest \\W = Wunsch}\\
  \specialrule{2pt}{0pt}{0pt}
  \rowcolor{Gainsboro}\makecell[c]{F \\ W} & Nr. & Bezeichnung &
  \bigstrut Werte\par\ Daten \par Anforderungen & Zust. & Status & Bermerkungen \\
  \mybottomrule
  \endfirsthead
  \specialrule{2pt}{0pt}{0pt}
  \rowcolor{Gainsboro}\makecell[c]{F \\ W} & Nr. & Bezeichnung &
  \bigstrut Werte\par\ Daten \par Anforderungen & Zust. & Status & Bermerkungen \\
  \mybottomrule
  \endhead
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen} \\
  \hline
  F & 1.1 \par 1.2 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen} \\
  \hline
  F & 1.1 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen} \\
  \hline
  F & 1.1 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen} \\
  \hline
  F & 1.1 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline \noalign{\penalty-5000}
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen ! ! ! } \\*
  \hline
  F & 1.1 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline
  \multicolumn{1}{c}{} & \multicolumn{1}{Sc}{1} & \multicolumn{5}{l}{\bfseries Funktionen} \\
  \hline
  F & 1.1 & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. & xy & & Hier steht ein Text. Hier steht ein Text. \par Hier steht ein Text. Hier steht ein Text. \\
  \hline
\end{xltabular}
\normalfont

\cleardoublepage
\defaultareas
Hier geht es normal weiter.

\end{document}

Nach oben