tabular Text in Zelle vertikal zentrieren

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


darkness_08
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 4. Feb 2023, 18:06

tabular Text in Zelle vertikal zentrieren

Beitrag von darkness_08 »

Hallo Zusammen.

Ich versuche gerade meinen ersten Bericht mittels LaTeX. Soweit läuft alles. Jedoch bekomme ich den Text "mein Verein" nicht in der Zelle vertikal zentriert.

Wie wäre denn da der Trick damit das klappt :)
\documentclass[10pt,a4paper,titlepage=false,parskip=half ]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{helvet}
\usepackage{enumitem}
\usepackage[a4paper, textwidth=16cm]{geometry}
\usepackage[automark, headsepline] {scrlayer-scrpage}
\renewcommand{\familydefault}{\sfdefault}
\pagestyle{scrheadings}


\title{Jahresbericht 2022}
\date{}


\chead{Mein Verein}



\begin{document}
	\titlehead{
		\begin{tabular}{|c|c|c|}
			\hline
			\includegraphics[scale=0.5,trim=0 0 0 -10]{Bilder/logo_1} & 
			\large\textbf{Mein Verein} & 
			\includegraphics[scale=1]{Bilder/logo_2} \\
			\hline
		\end{tabular}
	
	}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: tabular Text in Zelle vertikal zentrieren

Beitrag von KOMA »

Leider ist Dein Beispiel nicht lauffähig (und genau genommen auch nicht minimal). Daher kann ich nur vermuten, was Du suchst, nämlich etwas wie:
\documentclass[10pt,
  a4paper,% überflüssig, weil es der Voreinstellung entspricht
  titlepage=false,parskip=half ]{scrreprt}
\usepackage[utf8]{inputenc}% sollte überflüssig sein, weil seit LaTeX 2018/04/01 Voreinstellung
\usepackage[T1]{fontenc}
\usepackage{amsmath}% überflüssig, weil im Beispiel nicht verwendet
\usepackage{amssymb}% überflüssig, weil im Beispiel nicht verwendet
\usepackage{graphicx}
\usepackage[ngerman]{babel}% je nach verwendeten Paketen wäre es sinnvoll, Option ngerman bereits bei \documentclass anzugeben (aber babel natürlich trotzdem zu laden)
\usepackage{helvet}% überflüssig, weil für das Beispiel irrelevant
\usepackage{enumitem}% überflüssig, weil im Beispiel nicht verwendet
\usepackage[
  a4paper,% überflüssig, weil sowohl als globale Option (bei \docomentclass) bereits gesetzt als auch Voreinstellung durch scrreprt
textwidth=16cm]{geometry}
\usepackage[automark, headsepline] {scrlayer-scrpage}% überflüssig, weil im Beispiel irrelevant
\renewcommand{\familydefault}{\sfdefault}% überlüssig, weil im Beispiel irrelevant
\pagestyle{scrheadings}% überglüssig, weil Voreinstellung durch scrlayer-scrpage und im Beispiel außerdem irrelevant
\usepackage{tabularx}% hinzugefügt
\usepackage{adjustbox}

\title{Jahresbericht 2022}
\date{}


\chead{Mein Verein}% überflüssig, weil im Beispiel weder verendet noch relevant



\begin{document}
	\titlehead{%
	\renewcommand*{\tabularxcolumn}[1]{m{##1}}% m-Spalte verwenden
		\begin{tabularx}{\linewidth}{|c|X|c|}
			\hline
			\adjincludegraphics[scale=0.5,valign=m]{example-image-a}% Bild ersetzt, weil wir deines nicht haben.
			& \centering\large\textbf{Mein Verein} 
			& \adjincludegraphics[scale=0.3,valign=m]{example-image-b}% Bild ersetzt, weil wir deines nicht haben
			\\
			\hline
		\end{tabularx}%
	}
	\maketitle% Ergänzt, weil sonst \titlehead keinerlei Auswirkungen hat.
\end{document}% Ergänzt, weil das Beispiel sonst nicht lauffähig ist.
Zu \tabularxcolumn siehe die tabularx-Anleitung. Zu m-Spalten siehe die array-Anleitung. Zu \adjincludegraphics und dessen Option valign=m siehe die adjustbox-Anleitung. Zur Frage, wie Du Dein Beispiel hättest sowohl bei uns und im Online-Editor lauffähig als auch minimal hättest machen können, sei auf die erste Zeile meiner Signatur verwiesen.

darkness_08
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 4. Feb 2023, 18:06

Re: tabular Text in Zelle vertikal zentrieren

Beitrag von darkness_08 »

Guten Morgen.

Vielen Dank für deine Anmerkungen. Damit läuft es jetzt. Der vollständigkeit halber hier mein Beispiel wie es jetzt aussieht:
\documentclass[
	10pt,
	titlepage=false,
	parskip=half
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{helvet}
\usepackage{enumitem}
\usepackage[textwidth=16cm]{geometry}
\usepackage[automark, headsepline] {scrlayer-scrpage}
\usepackage{tabularx}
\usepackage{adjustbox}

\usepackage{lipsum}  

\renewcommand{\familydefault}{\sfdefault}
\renewcommand*\labelitemi{\normalfont\textendash}
\pagestyle{scrheadings}


\title{Jahresbericht 2021}
\date{}


\chead{Mein Beispiel e.V.}



\begin{document}
	\titlehead{
	\renewcommand*{\tabularxcolumn}[1]{m{##1}}% m-Spalte verwenden
		\begin{tabularx}{\linewidth}{|c|X|c|}
			\hline
			\adjincludegraphics[scale=0.4,valign=m,trim=0 0 0 -1]{example-image-a}
			& \centering\large\textbf{Mein Beispiel e.V.} 
			& \adjincludegraphics[scale=0.4,valign=m,trim=0 0 0 -1]{example-image-b}
			\\
			\hline
		\end{tabularx}
	
	}

\maketitle


\section*{01.03.2021: Beispiel 1}
	\lipsum[1-1]

\section*{01.03.2021: Beispiel 2}
	\lipsum[1-2]


\section*{16.12.2022: Beispiel 3}
	\lipsum[1-1]
\begin{itemize}{}{}
	\item[17] Klasse A
	\item[18] Klasse B
	\item[3] Klasse C
	\item[2] Klasse D
\end{itemize}


\end{document}
edit:
Dein Link zum Minimalbeispielt führt zu: "Das goLaTeX-Wiki ist in Überarbeitung."

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: tabular Text in Zelle vertikal zentrieren

Beitrag von KOMA »

darkness_08 hat geschrieben:
Mo 6. Feb 2023, 07:50
Dein Link zum Minimalbeispielt führt zu: "Das goLaTeX-Wiki ist in Überarbeitung."
Dass ein Link einmal (eventuell auch vorrübergehend) nicht mehr funktioniert kann leider immer passieren. Aber mit einer Suche nach »minimalbeispiel« solltest Du eigentlich mehrere passende Seiten finden, beispielsweise auch: Minimalbeispiel. Solange Stefan den Link im goLaTeX-Knigge nicht ändert, gehe mal davon aus, dass das Wiki wieder kommt und werde meine Signatur ebenfalls erst einmal so lassen.

Aber mal eine blöde Frage: Da Du offenbar nicht vorhast \chapter zu verwenden, warum nutzt Du dann nicht einfach scrartcl? Damit wäre dann beispielsweise auch der Titelkopf voreingestellt. Man könnte noch weiter gehen und sich die Verwendung von scrlayer-scrpage sparen. Schließlich entspricht, das was du da einstellst, eigentlich dem Seitenstil myheadings mit Option headsepline (die man ohnehin besser bei \documentclass angibt). Und man könnte sogar so weit gehen, „Beispiel <Nr>“ automatisch setzen zu lassen.
\documentclass[
	10pt,
%	titlepage=false,% Das ist mit scrartcl Voreinstellung
	parskip=half,
	headsepline
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[ngerman]{babel}
\usepackage{helvet}
\usepackage{enumitem}
\usepackage[textwidth=16cm]{geometry}
%\usepackage[automark, headsepline] {scrlayer-scrpage}% Wird gar nicht gebraucht.
\usepackage{tabularx}
\usepackage{adjustbox}

\usepackage{lipsum}  

\renewcommand{\familydefault}{\sfdefault}
\renewcommand*\labelitemi{\normalfont\textendash}% Bei Verwendung von enumitem, würde ich dafür ja eigentlich die Verwendung von enumitem empfehlen. Im Beispiel wird es ohnehin nicht genutzt.
%\pagestyle{scrheadings}% Das ist noch immer überflüssig, weil die Voreinstellung von scrlayer-scrpage.

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \Ifstr{#1}{section}{% nur für \section ändern
    \hskip #2#4#3% Überschrift vor der Nummerierung
  }{%
    \@hangfrom{\hskip #2#3}{#4}% Sonst die dokumentierte Voreinstellung verwenden.
  }
}
\makeatother
\renewcommand*{\sectionformat}{\unskip:~Beispiel~\thesection}% Voreinstellung ist \thesection\autodot\enskip vor der Überschrift wir brauchen aber etwas für nach der Überschrift

\title{Jahresbericht 2021}
\date{}

\pagestyle{myheadings}
\markright{Mein Beispiel e.V.}% Statt \chead


\begin{document}
	\titlehead{
	\renewcommand*{\tabularxcolumn}[1]{m{##1}}% m-Spalte verwenden
		\begin{tabularx}{\linewidth}{|c|X|c|}
			\hline
			\adjincludegraphics[scale=0.4,valign=m,trim=0 0 0 -1]{example-image-a}
			& \centering\large\textbf{Mein Beispiel e.V.} 
			& \adjincludegraphics[scale=0.4,valign=m,trim=0 0 0 -1]{example-image-b}
			\\
			\hline
		\end{tabularx}
	
	}

\maketitle


\section{01.03.2021}
	\lipsum[1-1]

\section{01.03.2021}
	\lipsum[1-2]


\section{16.12.2022}
	\lipsum[1-1]
\begin{itemize}%{}{} % Die beiden Gruppenklammern ergeben hier keinen Sinn.
	\item[17] Klasse A
	\item[18] Klasse B
	\item[3] Klasse C
	\item[2] Klasse D
\end{itemize}


\end{document}
Zuletzt geändert von KOMA am Mo 6. Feb 2023, 09:24, insgesamt 2-mal geändert.

darkness_08
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 4. Feb 2023, 18:06

Re: tabular Text in Zelle vertikal zentrieren

Beitrag von darkness_08 »

KOMA hat geschrieben:
Mo 6. Feb 2023, 08:41
Aber mal eine blöde Frage: Da Du offenbar nicht vorhast \chapter zu verwenden, warum nutzt Du dann nicht einfach scrartcl? Damit wäre dann beispielsweise auch der Titelkopf voreingestellt. Man könnte noch weiter gehen und sich die Verwendung von scrlayer-scrpage sparen. Schließlich entspricht, das was du da einstellst, eigentlich dem Seitenstil myheadings mit Option headsepline (die man ohnehin besser bei \documentclass angibt). Und man könnte sogar so weit gehen, „Beispiel <Nr>“ automatisch setzen zu lassen.
Das liegt wohl daran, das dies mein erstes, ernsthaftes LaTex Dokument ist :D Werde mir deine Hinweise mal anschauen.

Antworten