Leerzeile vor Listenumgebung verhindern

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: Leerzeile vor Listenumgebung verhindern

von bloodworks » Do 2. Feb 2012, 20:08

Warum sollte ich schmollen? Ich habe bis dato gar nicht verstanden was der Threadsteller eigentlich will. Ich sehe in deiner Lösung jetzt auch nicht, dass die Liste in der GLEICHEN Zeile (der letzten des Absatzes) anfängt. Wovon ich denke dass das das ist was der TS möchte.

Ich verstehe den etwa TS so:
(Is n übler Hack)
\documentclass[headings=small,fontsize=12pt,paper=a5,pagesize,DIV=7]{scrartcl} 
\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{lmodern,blindtext} 
\typearea{7} 
\begin{document} 
\section{Text} 
\newcounter{myeni}

\newenvironment{myen}{\setcounter{myeni}{1}\renewcommand{\item}{\ifnum\themyeni = 1%
\relax\else \\[.5\baselineskip]%
\fi%
(\themyeni)\stepcounter{myeni}}%
}{}

\blindtext%
\begin{myen} 
\item bla1 
\item bla2 
\item bla3 
\item bla4 
\end{myen} 

\blindtext 

 Aber toll finde ich das Ergebnis auch nicht gerade. 

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

\end{document}

von skater » Do 2. Feb 2012, 20:03

\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}

von nfa019 » Mi 1. Feb 2012, 18:52

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.

von Deniz » Mi 1. Feb 2012, 18:24

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

von bloodworks » Mi 1. Feb 2012, 18:00

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}  

von Deniz » Mi 1. Feb 2012, 17:43

\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.

von nfa019 » Mi 1. Feb 2012, 17:25

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

von bloodworks » Mi 1. Feb 2012, 17:23

Deniz hat geschrieben:Ein Minimalbeispiel sieht hier trivialerweise so aus:
Ähn nein..Hast du die Anleitung [2] gelesen?

von Deniz » Mi 1. Feb 2012, 17:18

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.

von bloodworks » Mi 1. Feb 2012, 17:11

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.

Nach oben