Seite 1 von 2

Leerzeile vor Listenumgebung verhindern

Verfasst: Mi 1. Feb 2012, 16:18
von Deniz
Hallo,

wie verhindere ich, dass LaTeX vor der gesamten Listenumgebung (in meinem Fall enumerate) eine Leerzeile einfügt, ohne gleich den Listenbefehl von vorne definieren zu müssen?

Gruß,
Deniz

Verfasst: Mi 1. Feb 2012, 17:11
von bloodworks
Hallo ohne Minimalbeispiel [2] kann man nur raten. Du solltest dir angewöhnen so was gleich mit zu machen.

Aus deinen Ausführungen kann man unter Zuhilfenahme der Gleaskugel raten, dass du den Absatzeinzug meinst. Den kannst du mit \noindent einmalig lokal verhindern.

Verfasst: Mi 1. Feb 2012, 17:18
von Deniz
Ein Minimalbeispiel sieht hier trivialerweise so aus:
Text1
\begin{enumerate}
\item bla1
\item bla2
\end{enumerate}
Text2
Zwischen Text1 und dem Beginn der Liste findet ein Zeilenumbruch statt. Den möchte ich eliminieren. Alle weiteren Zeilenumbrüche (also z.B. zwischen bla1 und bla2) und der Absatzeinzug sollen bestehen bleiben.

Verfasst: Mi 1. Feb 2012, 17:23
von bloodworks
Deniz hat geschrieben:Ein Minimalbeispiel sieht hier trivialerweise so aus:
Ähn nein..Hast du die Anleitung [2] gelesen?

Verfasst: Mi 1. Feb 2012, 17:25
von nfa019
Hallo Deniz, das macht zwar das Problem klarer, ist aber kein Minimalbeispiel, das wäre nämlich eigenständig kompilierbar.

Dann kriegst du auch nur Teilantworten zurück:

Der Zeilenumbruch an der Stelle ist so gewollt, wenn du die enumerate Umgebung unbedingt direkt hinter Text 1 haben willst, kannst du sie z.B. in eine Minipage verpacken, auch wenn ich dass eher häßlich fände.

Frauke

Verfasst: Mi 1. Feb 2012, 17:43
von Deniz
\documentclass{scrartcl}
\begin{document}
Text1 
\begin{enumerate} 
\item bla1 
\item bla2 
\end{enumerate} 
Text2
\end{document}  
Frage wie oben. Minipage wäre in der Tat nicht so schön, vielleicht kann man das ja in der Präambel lösen.

Entschuldigt bitte meine Unkenntnis, schreibe sonst nie in Foren.

Verfasst: Mi 1. Feb 2012, 18:00
von bloodworks
Also am besten verwendest du enumitem. Damit kann man lokal und global so ziemlich alles ändern.
\documentclass{scrartcl} 
\usepackage{enumitem}
\setlist[enumerate,1]{topsep=10mm}% global
\begin{document} 

Text
\begin{enumerate}[topsep=0mm]% lokal
\item bla1 
\item bla2 
\end{enumerate} 
 Text2 
 \begin{enumerate}
 \item test
 \end{enumerate}
Text
\end{document}  


Verfasst: Mi 1. Feb 2012, 18:24
von Deniz
topsep verringert in deinem Beispiel nur den Abstand zwischen dem ersten Textteil und der Liste. Es geht aber darum, dass der Zeilenumbruch entfernt werden soll, d.h. die Liste soll in derselben Zeile beginnen, in der der vorausgegangene Text aufhört.
Habe mich bereits eine Weile mit enumitem beschäftigt. Dort habe ich nur "inline lists" gefunden, wo die gesamte Liste ohne Zeilenumbrüche in den Paragraphen eingebettet ist. Aber mir geht es nur darum, den allerersten Zeilenumbruch noch vor der Liste zu eliminieren. Der Rest der Liste soll so aussehen wie üblich.
Außerdem möchte ich das bei mehreren Listen in meinem Dokument so haben, also sollte es nicht jedes mal gleich einen ganzen Wust von Befehlen erfordern und dadurch den Code unlesbar machen.

Ein Beispiel, wo das jemand geschafft hat, ist hier zu sehen (unter "1.3 Beispiele"):

http://books.google.de/books?id=mYNNOm_ ... &q&f=false

Verfasst: Mi 1. Feb 2012, 18:52
von nfa019
Die von Dir zitierte Liste sieht mir nicht nach einer Liste aus, sondern nach händisch numerierten Absätzen, was man schon daran sieht, dass die jeweils zweite Zeile eines items nicht eingerückt ist.

Verfasst: Do 2. Feb 2012, 20:03
von skater
\documentclass[fontsize=12pt,paper=a5,pagesize,DIV=7]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern,blindtext}
\begin{document}
\section{Text}

Auch wenn \emph{bloodworks} gleich wieder schmollen wird, so muss ich mich doch mal wieder mit der selbstverständlich richtigen Lösung einmischen. Die entsprechenden Zeilen habe ich mal zur Verdeutlichung auskommentiert.

\blindtext

\begin{enumerate}
% \makeatletter
% \let\@beginparpenalty=\@M
% \let\interlinepenalty=\@M
% \makeatother
\item bla1
\item bla2
\item bla3
\item bla4
\end{enumerate}

\blindtext

Aber toll finde ich das Ergebnis nicht gerade.

Und lerne gefälligst, was \textbf{Minimalbeispiel} heißt.

\end{document}