Umbrüche abhängig vom Content

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:

Markdown is OFF

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: Umbrüche abhängig vom Content

von Zwackelmann » Sa 24. Apr 2010, 16:54

Okay - ich hab das Problem jetzt gelöst, indem ich statt einem Doppelumbruch ein "\par\addvspace{5mm}" nach dem Aufgabentext benutzt habe.

Ich nehme an, dass das funktioniert, weil \par einen Absatz erzwingt und damit in den vertical mode wechselt, dort den vspace von 5mm erzeugt und dann aber keinen zusätzlichen vspace erzeugt, wenn ich einen neuen Absatz mit deim subtask anfange (weil ich ja schon im vertical mode bin)

Danke für die Hilfe!

von Zwackelmann » Sa 24. Apr 2010, 15:43

Hi, danke für die Antwort.
Aber um mein Problem mit \vspace oÄ. zu lösen, muss ich doch auch auf irgendeine Art und Weise abgragen können, ob das erste was im Content von task steht ein "\begin{subtask}" ist...

von KOMA » Sa 24. Apr 2010, 14:37

Hier sieht man mal wieder, wie ungünstig es ist, wenn man harte Umbrüche verwendet. Wenn man nämlich stattdessen einen vertikalen Abstand einbaut, dann kann man die Größe von selbigem eventuell am Anfang der Unterumgebung abfragen und ggf. anders reagieren. Also schlage ich vor, dass Du Dich mit Anweisungen wie \addvspace, \vspace, \vskip, \ifvmode und Registern wie \lastskip beschäftigst. Hilfreich dabei ist das frei verfügbare »TeX by Topic«.

Da mein Akku gleich leer ist, muss ich hier leider abbrechen.

Umbrüche abhängig vom Content

von Zwackelmann » Sa 24. Apr 2010, 09:45

Hallo,
ich habe vor eine Klasse für meine Hausaufgaben zu erstellen. Dafür habe ich zwei Umgebungen task und subtask erstellt (also Aufgabe und Unteraufgabe).
Beiden Umgebungen kann über einen optionalen Parameter eine Aufgabenstellung übergeben werden. z.B.

Code: Alles auswählen

\begin{task}[Aufgabenstellung für die Aufgabe]
	Lösung zu der Aufgaben
\end{task}
Die Aufgabenstellung wird dann kursiv geschrieben und wird gefolgt von zwei Umbrüchen.

Bei Unteraufgaben sind allerdings die beiden Umbrüche unerwünscht:

Code: Alles auswählen

\begin{task}[Aufgabenstellung]
	\begin{subtask}[Aufgabenstellung]
		Lösung der Unteraufgabe.
	\end{subtask}
\end{task}
Zusammenfassend brauche ich also ein Makro, welches die beiden Umbrüche hinter die Aufgabenstellung von task nur hinzufügt, wenn der Content von task nicht mit \begin{subtask} anfängt.

Im Anhang sieht man den zu großen Abstand bei der Aufgabe 2, weil die Aufgabe sofort in eine Unteraufgabe übergeht.


Hier noch meine Umgebungen task und subtask:

Code: Alles auswählen

%task
\newenvironment{task}[1][\empty]
	{	
		\begin{subsection}{Aufgabe \tasknum}%
			\ifthenelse{\equal{#1}{\empty}}%
			{}%
			{\textit{#1}\\\\}%
	}
	{
		\end{subsection}%
		\addtocounter{task}{1}%
		\setcounter{subtask}{1}%
	}

Code: Alles auswählen

\newenvironment{subtask}[1][\empty]
	{	
		\begin{paragraph}{\subtasknum}%
			\ifthenelse{\equal{#1}{\empty}}%
			{}%
			{\textit{#1}\\\\}%
	}
	{
		\end{paragraph}%
		\addtocounter{subtask}{1}%
	}
Dateianhänge
beispiel.pdf
(55.46 KiB) 706-mal heruntergeladen
beispiel.tex
(770 Bytes) 649-mal heruntergeladen

Nach oben