PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : newtheorem



Quaneu
01-11-2008, 12:02
Hallo,
da bin ich mal wieder mit einem neuen Problem...ich habe mit newtheorem Sätze Beweise usw. definiert, dass klappt auch alles wunderbar. Hier kurz der Code:

\theoremstyle{break}
\newtheorem[L]{Def}{Definition}[chapter]
\newtheorem[L]{Sa}[Def]{Satz}
\newtheorem[S]{Be}[Def]{Bemerkungen}
\newtheorem[S]{Ko}[Def]{Korollar}

Doch würd ich jetzt gern haben, dass es immer einen Abstand von ca 0.5cm nach unten und oben gibt. Also ungefähr so:

Text..........
Abstand 0.5cm
z.B. Satz 1.1......
Abstand 0.5cm
Text.........

Kann man das in der Präambel irgendwie gleich festlegen.

Schon mal jetzt vielen vielen Dank
Quaneu

mechanicus
01-11-2008, 13:47
Hallo,

in der AMS-Welt gibt es den Befehl newtheoremstyle, mit welchen du das alles einstellen kannst.

Gruß
Marco

Quaneu
04-11-2008, 12:41
Danke für deine schnelle Antwort, hab das jetzt so probiert, doch tut sich rein gar nix in meinem Dokument, sprich, hab immer noch die selben Abstände nach oben und unten, also über der Umgebung unter der Umgebung.



\documentclass[10pt,a4paper,oneside,fleqn]{scrreprt}
\usepackage{amsmath}
\usepackage{esint}
\usepackage{ngerman}
\usepackage[ansinew]{inputenc}
\usepackage{fontenc}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{theorem}
\usepackage{enumerate}
\usepackage{mathrsfs}
\usepackage{dsfont}
\usepackage{graphicx}
\usepackage{pdfpages}
\usepackage{array}
\usepackage{thmbox}
\usepackage{enumitem}
\usepackage[left=2cm,right=2cm,top=0cm,bottom=1cm,includeheadf oot]{geometry}
\newcommand{\entspricht}{\mathrel{\widehat{=}}}

\newtheoremstyle{Umgebung} % name
{20pt} % Space above, empty = `usual value'
{20pt} % Space below
{} % 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

\theoremstyle{Umgebung}
\newtheorem[L]{Def}{Definition}[chapter]
\newtheorem[L]{Sa}{Satz}[chapter]
\newtheorem[S]{Be}{Bemerkungen}[chapter]
\newtheorem[S]{Ko}{Korollar}[chapter]
\newtheorem[S]{Le}{Lemma}[chapter]

\setlength{\parindent}{0pt}
\linespread {1.25}

\begin{document}

Kann mir jemand sagen, was ich falsch gemacht habe.

Vielen Dank
Quaneu

rais
04-11-2008, 13:44
Moin moin,

Danke für deine schnelle Antwort, hab das jetzt so probiert, doch tut sich rein gar nix in meinem Dokument, sprich, hab immer noch die selben Abstände nach oben und unten, also über der Umgebung unter der Umgebung.

naja, das thmbox-Paket definiert sich einen eigenen \newtheorem-Befehl, das ließe sich zwar abstellen (per nothm-Option), dann greift dieser Abstand auch, aber das ist Dir dann wohl nicht mehr nach der Mütz'.;-)

Versuche es etwa so (den \(new)theormstyle brauchst Du so nicht):


\usepackage{thmbox}
\newlength\thmvorhernachher
\setlength\thmvorhernachher{2pc}%<--Stellschraube
\makeatletter
\let\thmbox@head@org\thmbox@head
\let\thmbox@tail@org\thmbox@tail
\renewcommand*\thmbox@head{%
\vspace{\thmvorhernachher}
\thmbox@head@org
}
\renewcommand*\thmbox@tail{%
\thmbox@tail@org
\vspace{\thmvorhernachher}
}
\makeatother

MfG

Quaneu
04-11-2008, 13:52
Das ist genau das was ich "gesucht" habe. Vielen vielen Dank.
Wenn Du mal Zeit und Lust haben solltest, könntest Du mir erklären, was Du da gemacht hast. Versteh den Code nämlich nicht... :(
Denn ich bräucht den selben Abstand nach unten auch.
Aber er funktioniert super und dafür nochmals vielen Dank :))).

Gruß Quaneu

rais
04-11-2008, 15:01
Wenn Du mal Zeit und Lust haben solltest, könntest Du mir erklären, was Du da gemacht hast. Versteh den Code nämlich nicht... :(

dann lieber jetzt, bevor ich das selbst schon wieder vergessen hab:D
Soo kompliziert ist der Code gar nicht:


\usepackage{thmbox}

dient hier nur zur Orientierung: wo genau soll der folgende Code stehen bzw. auf welches Paket bezieht sich dieser?


\newlength\thmvorhernachher
\setlength\thmvorhernachher{2pc}%<--Stellschraube

definiert (\newlength) und setzt (\setlength) eine neue Länge, hier für den Abstand vor und nach eines Theorems


\makeatletter

wörtlich: mach `@' zu einem Buchstaben (als `Buchstaben' gelten für TeX normalerweise nur `A--Z' und `a--z', also genau 52 Zeichen ... und TeX erlaubt als \Befehlsnamen, die aus mehr als einem Zeichen bestehen sollen nur `Buchstaben'.)


\let\thmbox@head@org\thmbox@head

legt eine Kopie des durch thmbox definierten Makros \thmbox@head an und nennt diese \thmbox@head@org.
Das Ziel ist, diesen \thmbox@head um einen (vorgestellten) Abstand zu erweitern. Innerhalb von \renewcommand*\thmbox@head{..} darf dieser \thmbox@head aber nicht aufgerufen werden, deshalb dieser `Umweg'.


\let\thmbox@tail@org\thmbox@tail

analog für `tail'


\renewcommand*\thmbox@head{%
\vspace{\thmvorhernachher}
\thmbox@head@org
}

erweitert den bisher bestehenden \thmbox@head um einen vorgestellten Abstand (mit der Länge von \thmvorhernachher


\renewcommand*\thmbox@tail{%
\thmbox@tail@org
\vspace{\thmvorhernachher}
}

analog für `tail', wenn auch mit nachfolgendem Abstand


\makeatother

das Gegenstück zu `\makeatletter'.

Aber um erst einmal herauszufinden, wer Dir da in die Suppe spuckt, hättest Du auch hier und da einmal ein Kommentarzeichen vorstellen können.;)

MfG

Quaneu
04-11-2008, 15:58
Ich verneige mich vor Dir :)
Kann mich nur nochmals für die schnelle und ausführliche Hilfe bedanken.

Und das nächste mal denke ich auch an die Kommentare ;)

Gruß

Quaneu