Enumerate / Itemize Umgebung in Tabelle Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Aerospace_Noob
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 22. Dez 2022, 18:07

Enumerate / Itemize Umgebung in Tabelle

Beitrag von Aerospace_Noob »

Hallo,

vorweg: Ich bin recht neu und unerfahren mit Latex, und nutze eine Vorlage einer Kommilitonin, also kann ich euch Fragen, warum ich dieses oder jenes Paket benutze manchmal nicht beantworten. Ich habe den Account extra für dieses Problem erstellt, weil ich keine Lösung gefunden habe, steinigt mich bitte nicht, wenn ich das mit dem Minimalbeispiel nicht korrekt hinbekomme.

Mein Ziel ist es, eine Aufzählung in einer Spalte einer Tabelle zu erstellen. Das ist mir mit \begin{enumerate} relativ einfach gelungen, jedoch bleibt (trotz der Definition von \setenumerate[leftmargin=*,topsep=0cm]) ca. eine halbe Zeile Absatz nur in dieser Zelle. Das sieht natürlich recht unschön aus.

Ich versuche mich mal an einem Minimalbeispiel:
\documentclass[a4paper,12pt,cleardoublepage=empty,ngerman]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{tabu}
\usepackage{enumitem}
\setenumerate{leftmargin=*,topsep=0cm,itemsep=0cm}

\begin{document}

\renewcommand{\arraystretch}{1.2}
\begin{center}
\begin{tabu}{p{3cm} p{12cm}}

\textbf{Zeile 1} & Inhalt 1\\

\textbf{Zeile 2} & Inhalt 2\\

\textbf{Zeile 3}&  \begin{enumerate} \item \textbf{Überschrift 3.1}\\
Text 3.1
\item \textbf{Überschrift 3.2}\\
Text 3.2
\end{enumerate}
\end{tabu}
\end{center}
\end{document}
Die Aufzählung und alles funktioniert einwandfrei. Jedoch bleibt immer diese halbe Zeile Absatz. Der Text "Zeile 3" ist auf der richtigen Höhe, es ist nur die eine Zelle mit der enumerate Umgebung. Das gleiche passiert auch bei Itemize.

Der letzte verzweifelte Versuch war die Implementierung einer Minipage nur für diese eine Zelle.
Das hat witzigerweise zwar den Absatz weg gemacht, jedoch ist nun der Text "Zeile 3" in die Mitte der Zeile gerutscht.
Hoffe ihr könnt mir weiter helfen, vielen Dank!

ich meine ja nur

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von ich meine ja nur »

\documentclass[
  a4paper,% Das ist Voreinstellung und kann daher weg.
  12pt,%
  cleardoublepage=empty,% Das ist Voreinstellung kann daher weg.
  ngerman]{scrartcl}
\usepackage[
  ngerman% Die Option wurde bereits bei \documentclass gesetzt und ist hier damit überflüssig.
]{babel}
%\usepackage{tabu}% Das Paket ist seit Jahren ungepflegt und sollte eher nicht mehr verwendet werden.
\usepackage{enumitem}
\setenumerate{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}% Ich würde das nicht global machen, sondern nur bei Umgebungen in Tabellen.

\begin{document}

\renewcommand{\arraystretch}{1.2}
\begin{center}
\begin{tabular}{p{3cm}p{12cm}}% tabu wird hier nicht benötigt.
\textbf{Zeile 1} & Inhalt 1\\
\textbf{Zeile 2} & Inhalt 2\\
\textbf{Zeile 3}& \csname @minipagetrue\endcsname\begin{enumerate} \item \textbf{Überschrift 3.1}\newline
Text 3.1
\item \textbf{Überschrift 3.2}\newline
Text 3.2
\end{enumerate}
\end{tabular}
\end{center}
\end{document}

Aerospace_Noob
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 22. Dez 2022, 18:07

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Aerospace_Noob »

Danke schonmal für die Hilfe und die Anmerkungen, das hat allerdings leider nicht geklappt.
In der Ausgabe bleibt immernoch der Absatz, ich habe auch mal ein Bild angehangen.
Enumerate_in_Tabelle.jpg
Noch weitere Ideen? :?

Edit: Habe gerade das Feature der Latex Ausgabe entdeckt, das ist ja mal wirklich nützlich, daher ist mein Bild wenig nützlich, aber dafür vielleicht diese Info: Wenn ich den Code von dir in ein blankes tex File eingebe, dann kommt folgender Error:

This is BibTeX, Version 0.99d (MiKTeX 2.9.7300 64-bit) The top-level auxiliary file: Test.aux I found no \citation commands---while reading file Test.aux I found no \bibdata command---while reading file Test.aux I found no \bibstyle command---while reading file Test.aux (There were 3 error messages)

Wenn ich in der ausgegebenen PDF schaue, dann wurde da aber trotzdem was ausgegeben, und das sieht witzigerweise richtig aus. Da scheint irgendwas mit den ganzen Packages in meinem Dokument nicht zu stimmen oder?
Tut mir jetzt schon ehrlich leid, dass das so ein Durcheinander ist.

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Beinschuss »

Zur Bibtex-Fehlermeldung: In Deiner "echten" Projektdatei hast Du offensichtlich schon Zeilen zur Bibliographie (bibtex), aber noch nichts zitiert. Daher die Fehlermeldung. Wenn Du die Bibliographiezeilen auskommentierst (mit dem Prozentzeichen %), sollte die Fehlermeldung verschwinden.

Dazu rate ich, nicht bibtex, sondern biblatex für die Bibliographie zu nutzen. Das ist mittlerweile Stand der Dinge. Die Vorlage macht auf mich den Eindruck, nicht auf dem neuesten Stand zu sein und könnte daher Probleme machen.

Denn: Für Deine Tabelle hast Du das Paket tabu benutzt, das seit langem nicht mehr gepflegt wird und daher schon größere Probleme gemacht hat (s. https://github.com/tabu-issues-for-future-maintainer/tabu). Ich meine ja nur hat wohl auch aus diesem Grund tabular verwendet, was auch für das weitere Dokument empfehlenswert ist. tabu kann funktionieren, ist aber ein eher unsicherer Kandidat.

Aerospace_Noob
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 22. Dez 2022, 18:07

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Aerospace_Noob »

Guten Morgen,

dann werde ich mich vor meiner Diplom-Arbeit mal ein bisschen einlesen, und lieber aktuelle Pakete verwenden, danke für die Hinweise!

An tabu liegts allerdings nicht, weil sich nichts ändert, wenn ich in der Tabelle tabu durch tabular ersetze. Oder müsste ich das ganze Paket deaktivieren?

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Beinschuss »

Du solltest schon den gesamten Code, den Dir Ich meine ja nur geliefert hat, nutzen. In seinem Beispiel sind die linke und die rechte 3. Zeile auf gleicher Höhe.

Nebenbei bemerkt: Im allerersten Post hier schon ein lauffähiges Minimalbeispiel mitzuschicken, ist schon richtig gut ... Und wenn's weiterhin nicht klappt, dann mach's nochmal. Nur dann kann man beurteilen, woran's liegt.

Aerospace_Noob
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 22. Dez 2022, 18:07

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Aerospace_Noob »

Ok ich habe jetzt alle Anpassungen exakt wie im Beispiel von ich meine ja nur vorgenommen, habe alle Tabellen in tabular geändert oder auskommentiert, sodass ich \usepackage{tabu} komplett löschen konnte. Alles so wie im Beispiel, trotzdem bleibt es so.

Ich halte mich mal an deinen Rat, und gebe nochmal ein Minimalbeispiel ein, mal schauen was die Ausgabe hier daraus macht:
\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{enumitem}
\setitemize{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}
\setenumerate{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm} %Absichtlich global, weil ich das zu 99% in Tabellen benutze, und daher spare ich mir eine Menge Code, wenn ich das jedes Mal lokal machen würde. Daran scheint es ja aber nicht zu liegen.

\begin{document}

\renewcommand{\arraystretch}{1.2}
\begin{center}
\begin{tabular}{p{3cm} p{12cm}}
\textbf{Zeile 1} & Inhalt 1\\
\textbf{Zeile 2} & Inhalt 2\\
\textbf{Zeile 3} & \csname @minipagetrue\endcsname\begin{enumerate} \item \textbf{Überschrift 3.1}\newline
Text 3.1
\item \textbf{Überschrift 3.2}\newline
Text 3.2
\end{enumerate}
\end{tabular}
\end{center}
\end{document}
Edit: Ja also hier klappt es ja jetzt offensichtlich. Heißt für mich, es muss daran liegen, dass ich entweder eine alte TexMaker Version nutze, oder dass in der laaaaaaaaangen Liste von Paketen, die am Anfang meines Dokumentes stehen, irgendwo der Fehler liegt, oder?

Aerospace_Noob
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 22. Dez 2022, 18:07

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von Aerospace_Noob »

Ich probier jetzt einfach mal alle Pakete meines Dokumentes hier ins (nicht mehr Minimal-) Beispiel einzugeben, dann kann ich schauen, ob es genau so wird.
\documentclass[12pt,ngerman]{scrartcl}
%Subfiles
\usepackage{subfiles}
%Mathe
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%Deutsch
\usepackage{babel}
%Umlaute eingebbar, Tastatur
\usepackage[utf8]{inputenc}
%echte Umlaute, Ausgabefont
\usepackage[T1]{fontenc}
%Vektorschrift
\usepackage{lmodern}
%Farben
\usepackage{color}
\usepackage{xcolor}
\usepackage{url,textcomp}
%Grafiken einbinden
\usepackage{graphicx}
%Besondere Tabbellen
%\usepackage{tabularx}
%KOMA-Skript
\usepackage{scrpage2}
\usepackage{url}
\usepackage{courier}
%Tabelle
\usepackage{booktabs}
%sfrac
\usepackage{xfrac}
%
\usepackage{ulem}
%\usepackage[default,scale=0.95]{opensans}

\usepackage{enumitem}
%Aufzählungen werden nicht eingerückt
\setitemize{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}
\setenumerate{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}


\usepackage{placeins}
\usepackage[absolute]{textpos}
\usepackage{pdfpages}
\usepackage{float}

\usepackage{lscape}

\interfootnotelinepenalty=10000

%%%%Matlab-Code einbinden
%\usepackage{listings}
%%%\usepackage{courier}
%\usepackage[framed,numbered]{mcode}
%\lstset{backgroundcolor=\color{yellow!10!white},
%breaklines={true}}

%%Chemieschreibweise
\usepackage[version=4]{mhchem}

%%Tikz
\usepackage{pgf,tikz}
\usetikzlibrary{shapes.geometric,shadows,arrows}
\usetikzlibrary{patterns}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\usetikzlibrary {patterns.meta}

%Zeilenabstand 1,5
\usepackage{setspace}
\onehalfspacing

%Interaktives Inhaltsverzeichnis
\usepackage[colorlinks,
pdfpagelabels,
linkcolor = black,
urlcolor=black,
citecolor=black]{hyperref}
\usepackage{hyperref}
%\hypersetup{%}
\urlstyle{rm}
\usepackage[square,numbers,comma,
sort&compress]{natbib}

\usepackage[labelfont=bf,font=small, belowskip=0.3cm]{caption}

%%Keine Einrückung
\setlength {\parindent} {0pt}

%Graphikpfad
%\graphicspath{ {./Graphiken/} }

%%Deutsch Zitieren
\newcommand{\gerquote}[1]{\glqq{}#1\grqq{}}

%%To-Dos
\newcommand{\todo}[1]{\textcolor{red}{#1}}

\newcommand{\unit}[2]{\ensuremath{#1 \: \mathrm{#2}}}

\definecolor{pink}{rgb}{1,0,1}

\newcommand{\alignuline}[1]{\makebox[0pt][l]{$\uline{\phantom{#1}}$}}
\newcommand{\alignuuline}[1]{\makebox[0pt][l]{$\uuline{\phantom{#1}}$}}
\newcommand{\entspricht}{\stackrel{\scriptscriptstyle\wedge}{=}}
\newcommand{\grad}{^{\circ}}

\begin{document}

\end{tabular}
\end{center}

\renewcommand{\arraystretch}{1.2}
\begin{center}
\begin{tabular}{p{3cm} p{12cm}}
\textbf{Zeile 1} & Inhalt 1\\
\textbf{Zeile 2} & Inhalt 2\\
\textbf{Zeile 3} & \csname @minipagetrue\endcsname\begin{enumerate} \item \textbf{Überschrift 3.1}\newline
Text 3.1
\item \textbf{Überschrift 3.2}\newline
Text 3.2
\end{enumerate}
\end{tabular}
\end{center}
\end{document}
Bitte nicht ausrasten, was ich da alles für Pakete nutze... wie gesagt: ist nur eine Vorlage, die ich dankend angenommen habe, und bisher bin ich damit auch super zurecht gekommen.

Edit: Auch wenn das Beispiel nicht funktioniert (kann nicht ganz identifizieren warum - Graphikpfad hab ich auskommentiert, was anderes finde ich spontan nicht), vielleicht erkennt einer von euch ja ein Paket oder eine Einstellung, die verantwortlich sein kann.

Nochmal sorry, falls ich euch wertvolle Nerven so kurz vor Weihnachten raube :?

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von u_fischer »

Nun der erste Fehler ist
! LaTeX Error: File `scrpage2.sty' not found.
Das Paket gibt es nicht mehr, nimm es also raus.

Der nächste Fehler kommt dann von dem einsamen \end{tabular} nach \begin{document}.

Wenn man das korrigiert hat, kann man anfangen mal Pakete zu entfernen und testen, ob das Problem bestehen bleibt, und wird dann relativ schnell auf hyperref stoßen. hyperref will bei dem item einen Anker setzen, und der erzeugt zusätzlichen Abstand.

Siehe auch https://tex.stackexchange.com/a/489861/2388
\documentclass[12pt,ngerman]{scrartcl}

\usepackage{enumitem}

\setitemize{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}
\setenumerate{leftmargin=*,topsep=0cm,partopsep=0pt,itemsep=0cm}

\usepackage{hyperref}

\makeatletter
\newcommand\nohyperitem{\measuring@true \item \measuring@false}
\makeatother
\begin{document}


\renewcommand{\arraystretch}{1.2}
\begin{center}
\begin{tabular}{p{3cm} p{12cm}}
\textbf{Zeile 1} & Inhalt 1\\
\textbf{Zeile 2} & Inhalt 2\\
\textbf{Zeile 3} & \csname @minipagetrue\endcsname\begin{enumerate} \nohyperitem \textbf{Überschrift 3.1}\newline
Text 3.1
\item \textbf{Überschrift 3.2}\newline
Text 3.2
\end{enumerate}
\end{tabular}
\end{center}
\end{document}

ich meine ja nur

Re: Enumerate / Itemize Umgebung in Tabelle

Beitrag von ich meine ja nur »

Wie man die Dokumentpräambel weiter minimiert und so ggf. auch das Problempaket findet, steht in der Minimalbeispiel-Anleitung. Anzumerken wäre allgemein:
  • Die Version von TeXmaker ist für das Ergebnis des LaTeX-Laufs vollkommen unerheblich. Da zählt nur die Version der TeX-Distribution. Wie man diese ggf. aktualisiert, hängt von der verwendeten Distribution ab.
  • Vor xcolor noch color zu laden, ist absolut sinnlos.
  • Das Paket scrpage2 ist seit vielen Jahren veraltet und auch schon länger nicht mehr Bestandteil von KOMA-Script und auch nicht mehr Bestandteil der TeX-Distributionen. Falls das bei dir noch läuft, ist also einiges extrem veraltet. Verwende besser, das in den KOMA-Script-Anleitungen erklärte scrlayer-scrpage. Allerdings sehe ich derzeit bei dir keinen Code, der das notwendig machen würde. Wenn das in Wirklichkeit genauso ist, ist Entfernen das Mittel der Wahl.
  • Auf die Probleme mit ulem wurde dieser Tage bereits hingewiesen.
  • Vor hyperref noch url selbst zu laden, ergibt nur selten einen Sinn.
  • Alle Links schwarz zu machen, ist eine blöde Idee. Wenn man im Ausdruck keine Farbe haben will, dann lässt man die Links besser einrahmen oder unterstreichen. Das wird dann automatisch nicht mit gedruckt. Man findet sie aber im PDF-Viewer trotzdem (was nicht nur am Smartphone oder Tablet sehr nützlich ist). Wenn man schon alle Links verstecken will, kann man das mit einer einzigen Option machen. Siehe dazu die hyperref-Anleitung.
  • Wie bereits erwähnt: Statt natbib und BibTeX wäre biblatex mit biber zu empfehlen. Siehe dazu die wichtigen Hinweise im Literaturverzeichnis-Forum.
  • Was du mit caption machst, geht auch ohne direkt mit Einstellungen von KOMA-Script. Siehe dazu ggf. die Anleitung.
  • \parindent einfach auf Null zu setzen, ist eine ganz blöde Idee.
  • Statt \gerquote würde ich das Paket csquotes und dessen Anweisungen, beispielsweise \enquote empfehlen.
  • Statt \unit würde ich das Paket siunitx und dessen Anweisungen empfehlen.
  • Ein \end{tabular} unmittelbar nach \begin{document} und ohne vorheriges \begin{tabular}{…} führt zwangsläufig zu einem Fehler.
  • \usepackage[utf8]{inputenc} stört zwar nicht (zumindest solange man PDFLaTeX verwendet), ist aber mit einem halbwegs aktuellen LaTeX (genauer seit Anfang 2018) auch nicht mehr notwendig.
Zum Problem selbst: siehe Ulrikes Lösung. Wenn man ohnehin keine Links braucht, kann man aber natürlich auch hyperref weglassen. Nur darf man dann natürlich auch kein \autoref mehr verwenden. Als Alternative sei ggf. cleveref genannt. Das ist übrigens auch mit hyperref nützlich, muss aber als eines von wenigen Paketen nach hyperref geladen werden.

Falls der Code auf einer Vorlage basiert, sei auch noch auf: https://sourceforge.net/p/koma-script/wiki-de/HowTo_Template/ hingewiesen. Früher hatte die Seite einmal den etwas treffenderen Titel »Minimale Vorlage vs. maximale Probleme«. ;-)

Antworten