PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umgebungen kreieren



TeXman
27-07-2010, 16:35
Hallo liebe TeX-Profis,

ich brauche eure Unterstützung. Seit gestern habe ich mich wieder in LaTeX eingearbeitet, um ein mathematisches Paper zu schreiben, und da treten hier und da einige nervige Problemchen auf, die ich gern gelöst hätte :)

Das erste Problem betrifft selbstgebaute Umgebungen. Leider hab ich zu dem Thema noch keine gute Onlinedokumentation gefunden. Ich geb euch einfach mal Quellcode und geteXtes Ergebnis, und sag euch, was ich gern anders hätte:


PRÄAMBEL:

\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{amsthm}
\usepackage{amssymb}

\newtheorem{df}{\textbf{\underline{Definition:}} \\ }
\newtheorem{bsp}{\textbf{\underline{Beispiel:}} \\ }

CODE:

\begin{df}
Text 1
\end{df}

\vspace{3mm}

\begin{df}
Text 2
\end{df}

\vspace{3mm}

\begin{bsp}
\begin{itemize}

\item Bsp1
\item Bsp2
\end{itemize}
\end{bsp}


_______________________

Ausgabe:


Definition:
1. Text 1

Definition:
2. Text 2

Beispiel: 1. • Bsp 1
• Bsp 2


Aussehen soll es aber so:
- Nummern der Def./Sätze/Bsp. stehen VOR der Umgebungsüberschrift
- Nummern stehen nicht mehr NACH der Umgebungsüberschrift in der ersten Zeile
- Nummern zählen nach oben mit jedem neuen Bsp, jeder Definition, jedem Lemma und jedem Satz
- Zeilensprünge werden gemacht


1. Definition: (Zeilensprung)
Text 1

2. Definition: (Zeilensprung)
Text 2

3. Beispiel: (Zeilensprung)
• Bsp 1
• Bsp 2

Was kann ich an meiner Umgebungs-Präambel verändern, damit ich mein gewünschtes Ergebnis erreiche?

Und was ist der Unterschied zwischen newtheorem und newenvironment?

Gibt es Dokumente, die Umgebungen mit Code vorstellen, anhand denen man sich die Spezifikationsmöglichkeiten anlernen kann?

u_fischer
27-07-2010, 16:50
Lass das mit dem \textbf, \underline und \\ in der \newtheorem-Definition. Benutze dafür einen geeigneten Stil.

Die Dokumentation zu amsthm/\newtheorem findest du in amsthdoc.pdf.
(texdoc amsthdoc).

TeXman
28-07-2010, 10:46
Okay, jetzt hab ich mir die Dokumentation druchgelesen und bin ein kleines Stück weitergekommen. Danke.


\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{df}[thm]{Definition:}
\newtheorem{bsp}[thm]{Beispiel:}

Offene Probleme:
- Nummern der Def./Sätze/Bsp. stehen VOR der Umgebungsüberschrift
- Nummern stehen nicht mehr NACH der Umgebungsüberschrift in der ersten Zeile
- Nummern zählen nach oben mit jedem neuen Bsp, jeder Definition, jedem Lemma und jedem Satz
- Zeilensprünge werden gemacht

Offene Fragen:
- Was kann ich an meiner Umgebungs-Präambel verändern, damit ich mein gewünschtes Ergebnis erreiche?
- Und was ist der Unterschied zwischen newtheorem und newenvironment?
- Gibt es Dokumente, die Umgebungen mit Code vorstellen, anhand denen man sich die Spezifikationsmöglichkeiten anlernen kann?

u_fischer
28-07-2010, 10:57
Der Befehl "\newtheorem{bsp}[df]{Beispiel:}[section]" führt allerdings immer dazu, dass \begin{document} nicht mehr gefunden wird. Was tun?

Es steht ja nirgends in der Doku, dass diese Syntax erlaubt ist. Wozu soll [section] und [df] auch gut sein? Entweder soll sich bsp mit df einen Zähler teilen (der mit section zurückgesetzt wird oder auch nicht, je nach Definition von df), dann nimm \newtheorem{bsp}[df]{Beispiel:}, oder es soll einen eigenständigen Zähler haben, dann nimm \newtheorem{bsp}{Beispiel:}[section].

TeXman
28-07-2010, 11:23
Ich hab's korrigiert. Nachdem ich die thmtest.tex durchgearbeitet habe, sieht es jetzt so aus:


\newtheoremstyle{Standard}
{9pt} % Space above, empty = `usual value'
{15pt} % Space below
{\itshape} % Body font
{} % Indent amount (empty = no indent, \parindent = para indent)
{\bfseries} % Thm head font
{} % Punctuation after thm head
{\newline} % Space after thm head: \newline = linebreak
{} % Thm head spec

\newtheorem{thm}{Theorem}[section]
% abstraktes Beispiel, wird in der Instanz nie auftreten: Abkürzung ist "thm"

\swapnumbers % stellt die Nummerierung VOR die Überschrift
\theoremstyle{Standard}
\newtheorem{df}[thm]{Definition:}
\newtheorem{bsp}[thm]{Beispiel:}
\newtheorem{lem}[thm]{Lemma:}
\newtheorem{sa}[thm]{Satz:}
% eigene Umgebung "Standard" erhält nun Definitionen, Beispiele, Lemmata und Sätze


Die normalen Umgebungen machen jetzt auch genau, was sie sollen. Ein Problem tritt auf, wenn direkt nach Umgebungsbeginn eine Nummerierung losgeht:


\begin{df}[Kontexte]
\begin{itemize}
\item Bla
\item Bla
\end{itemize}
\end{df}

Gemeinerweise vergisst er jetzt den Zeilensprung und beginnt mit der aufzählung noch in der selben Zeile, in derauch die Überschrift steht.

Wie löse ich das?

TeXman
15-08-2010, 22:15
*up*

Problem ist noch ungelöst

rais
15-08-2010, 23:04
Moin moin,


Gemeinerweise vergisst er jetzt den Zeilensprung und beginnt mit der aufzählung noch in der selben Zeile, in derauch die Überschrift steht.

versuch es so


\begin{df}[Kontexte]
\mbox{}\begin{itemize}
\item Bla
\item Bla
\end{itemize}
\end{df}

MfG