Seite 1 von 1

tabular Text in Zelle vertikal zentrieren

Verfasst: Sa 4. Feb 2023, 18:12
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}
	
	}

Re: tabular Text in Zelle vertikal zentrieren

Verfasst: So 5. Feb 2023, 10:44
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.

Re: tabular Text in Zelle vertikal zentrieren

Verfasst: Mo 6. Feb 2023, 07:50
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."

Re: tabular Text in Zelle vertikal zentrieren

Verfasst: Mo 6. Feb 2023, 08:41
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}

Re: tabular Text in Zelle vertikal zentrieren

Verfasst: Mo 6. Feb 2023, 08:59
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.