PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zu viel Platz vor der "quote" Umgebung



FelixDamrau
21-06-2008, 12:20
Hallo!

Ich habe in einem text (Zeilenabstand 1.5) einige Zitate mit der quote Umgebung eingefügt. Diese sind mit normalen Zeilenabstand.
Allerdings ist mir der Platz vor und nach dem Zitat zu groß. Das soll nicht so stark von restlichen Text abgehoben sein.

Ich dachte ich könnte das mit

\let\oldquote\quote
\renewcommand\quote {\vspace {-10pt} \oldquote }
machen, aber da bekomme ich den Fehler
TeX capacity size exceeded, sorry (main memory size=1500000)

Wie kann man das anders lösen?
Warum tritt dieser Fehler auf?

Vielen Dank,
Felix

rais
21-06-2008, 13:44
Moin moin,


Ich habe in einem text (Zeilenabstand 1.5) einige Zitate mit der quote Umgebung eingefügt. Diese sind mit normalen Zeilenabstand.
Allerdings ist mir der Platz vor und nach dem Zitat zu groß. Das soll nicht so stark von restlichen Text abgehoben sein.

Ich dachte ich könnte das mit

\let\oldquote\quote
\renewcommand\quote {\vspace {-10pt} \oldquote }
machen, aber da bekomme ich den Fehler
TeX capacity size exceeded, sorry (main memory size=1500000)

mit den gemachten Angaben bekomme ich Deinen Fehler nicht reproduziert ... mach bitte ein vollständiges Minimalbeispiel.

MfG

FelixDamrau
21-06-2008, 14:13
Kommando halb zurück.
Der Fehler tritt anders auf, als gedacht.

Der zu große Abstand ist nur, wenn in der quote Umgebung direkt eine enumerate, itemize oder description umgebung ist.

Dann kann man das mit "meinen" Lösungsansatz auch gar nicht bearbeiten, die nur die besagten Umgebungen in der quote Umbegung so einen schmu machen.

Die Sachlage:
Dokument 1.5 zeilenabstand, nur die quote umgebung soll immer 1-fachen Zeilenabstand haben und klein sein.
Momentan habe ich immer \small \singlespacing
vor die quote Umgebung geschrieben.
Das ist auch glaube ich das Problem, dass es manchmal so große Abstaädne gibt.

Ich hoffe, dass mich noch jemand versteht...

localghost
21-06-2008, 14:21
Du kannst dir für diesen Zweck eine eigene Umgebung zurechtbasteln. Die quote-Umgebung wird intern als Liste definiert. Dieser Umstand lässt für eine eigene Umgebung ausnutzen.

\newenvironment{squote}{
\begin{list}{}{
\rightmargin
\leftmargin
\setlength{\topsep}{\smallskipamount}
}
\small
\singlespacing
\item[]
}
{\end{list}}

Das funktioniert dann natürlich ausschließlich mit setspace (http://dante.ctan.org/CTAN/help/Catalogue/entries/setspace.html). Die Länge \smallskipamount kannst Du durch jede gültige Längeneinheit ersetzen. Ich habe ein elastisches Maß gewählt, wie es durch den Befehl \smallskip erzeugt wird.


Mfg
Thorsten¹

FelixDamrau
22-06-2008, 17:51
Hallo!

Danke für deine Hilfe, aber ich habe ein kleines Problem.
Dein Code gibt bei mir den Fehler

"Paragraph ended before list was complete".

Ich schaffe es leider nicht, den Fehler selber zu lokalisieren.

Ich nutze das wie folgt


\begin{squote}
\begin{enumerate}
\item bla
\end{enumerate}
\end{squote}

localghost
22-06-2008, 18:12
Kann ich so nicht bestätigen. Vielleicht hast Du einen Fehler bei der Übernahme des Codes für die neue Umgebung gemacht. Bitte mal genau vergleichen. Wenn nicht, erstellst Du ein Minimalbeispiel (http://www.minimalbeispiel.de), das den Fehler reproduziert.

FelixDamrau
22-06-2008, 18:25
So in der Art nutze ich es.
mit quote gibt es keinen Fehler, mit squote schon.


\documentclass[12pt, a4paper, oneside]{scrartcl}
\newenvironment{squote}{
\begin{list}{}{
\rightmargin

\leftmargin
\setlength{\topsep}{\smallskipamount}
}
\small
\singlespacing
\item[]
}
{\end{list}}
\begin{document}
\begin{squote}
\begin{enumerate}
\item bla
\item bla
\begin{itemize}
\item bla
\item bla
\end{itemize}
\end{enumerate}
\end{squote}
\end{document}

localghost
22-06-2008, 18:55
Tut mir leid. Auch wenn dein Code kein Minimalbeispiel (http://www.minimalbeispiel.de) ist, weil setspace (http://dante.ctan.org/CTAN/help/Catalogue/entries/setspace.html) fehlt, erhalte ich nach entsprechender Ergänzung keinen einzigen Fehler.

FelixDamrau
22-06-2008, 19:55
Mist. Ich mache wohl etwas falsch.
Und eine google Suche bringt mich gerade nicht weiter.

Ich hatte vorschon schon das Paket setspace eingebunden und im Kopf auf onehalfspacing eingestellt.
Das hat allerdings nichts gebracht.

Wie muss ich denn setspace einbinden.
Wenn ich es über

usepaackage{setspace} mache bekomme ich den besagten Fehler. Auch in meinem Beispiel.

ich lese mir jetzt mal minimalbeispiel.de durch und hoffe auf weitere Antworten und Hilfen, auch wenn meine Fragestellungen und Hilfegesuche nicht gut formuliert sind...
Ich würde wirklich gerne meine Frage so formulieren, dass man mir leicht helfen kann. Nur fällt mir das anscheinend echt schwer.
Aber danke für die Hilfe! Ich weiß das zu schätzen, dass ihr (insbesondere localghost und rais) euch mit mir und meinen Problemem beschäftigt.

Stefan_K
22-06-2008, 20:08
Hallo Felix,

die Leerzeile zwischen \rightmargin und \leftmargin muss weg, sie erzeugt einen Absatzumbruch und damit den Fehler.

Viele Grüße,

Stefan

localghost
22-06-2008, 20:17
Mist. Ich mache wohl etwas falsch.
Und eine google Suche bringt mich gerade nicht weiter. […]
Offensichtlich. Aber gib doch mal die Fehlermeldung in eine Suchmaschine ein.

Paragraph ended before \list was complete.
Damit erhalte ich schon mal zwei doch recht gute Treffer [1,2]. Die könnten dir vielleicht weiterhelfen.

[1] Art of problem solving: Common LaTeX Errors (http://www.artofproblemsolving.com/LaTeX/AoPS_L_HelpErrors.php#endpar)
[2] comp.text.tex | Google Groups (http://groups.google.com/group/comp.text.tex/tree/browse_frm/month/2004-11?_done=%2Fgroup%2Fcomp.text.tex%2Fbrowse_frm%2Fm onth%2F2004-11%3Ffwc%3D1%26&fwc=1) (Thema "List of a list")


Edit: Problem durch Stefan gelöst. Also wurde mein Code doch nicht richtig übernommen.

FelixDamrau
22-06-2008, 21:23
@Stefan K:

Danke!
Das hat das Problem gelöst! :)

Nun habe ich aber ein neues Problem.

Ich würde es gerne so haben, dass der rechte Rand genauso groß ist wie der linke.
Mit dem Code aus dem Thread gibt es rechts gar keinen Rand.

Wenn ich
\rightmargin {20pt} eingebe habe ich einen 20pt Rand

Ich dachte, dass \rightmargin {\leftmargin} funktionieren könnte. Klappt aber nicht.
mit \setlength{\rightmargin}{\leftmargin}
hat es auch nicht geklappt.

~~~

@localghost:
Danke für den Tipp. Ich habe das auch mal gemacht (nach deinem Suchtipp), muss aber zugeben, dass ich mit den Ergebnissen nicht viel anfangen konnte.
Ich kann leider (noch) nicht gut texen. Ich frickel eher damit herum.

@alle:
Vielen Dank! Ihr seid eine wundervolle Hilfe!

voss
22-06-2008, 21:47
Ich würde es gerne so haben, dass der rechte Rand genauso groß ist wie der linke.
Mit dem Code aus dem Thread gibt es rechts gar keinen Rand.

Wenn ich
\rightmargin {20pt} eingebe habe ich einen 20pt Rand

Ich dachte, dass \rightmargin {\leftmargin} funktionieren könnte. Klappt aber nicht.
mit \setlength{\rightmargin}{\leftmargin}
hat es auch nicht geklappt.


Das Beispiel macht dies bereits...

Beweis:

\documentclass[12pt, a4paper, parskip]{scrartcl}
\usepackage{setspace}
\newenvironment{squote}{%
\begin{list}{}{
\rightmargin\leftmargin
\setlength{\topsep}{\smallskipamount}}
\small\singlespacing
\item[]}
{\end{list}}

\begin{document}

\rule{\textwidth}{1pt}

\begin{squote}
\rule{\linewidth}{1pt}

\begin{enumerate}
\item bla
\item bla
\begin{itemize}
\item bla
\item bla
\end{itemize}
\end{enumerate}
\end{squote}

\end{document}

Herbert

FelixDamrau
23-06-2008, 09:49
Dankeschön!
Das geht.

ich kann meinen Fehler auch nicht mehr reproduzieren. Weiß nicht, was ich egstern falsch gemacht habe.

Vielen Dank!
Felix