PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ntheorem - Schriftstil Problem



DDG
05-08-2007, 08:33
Hallo an alle,

ich verwende das Paket ntheorem und mein Problem ist, dass die Schriftart der Beweisumgebung nicht
mit der von mir erwünschten übereinstimmt. Kurzbeispiel:



\documentclass[a4paper,10pt,fleqn,twoside]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amstext}
\usepackage{latexsym}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[hyperref,amsthm,amsmath,thmmarks]{ntheorem}

% -- hyperref Einstellungen --
\hypersetup{
pdffitwindow=false,
pdfhighlight=/O,
pdfnewwindow,
colorlinks=true,
pdfpagemode=UseOutlines,
bookmarksnumbered=true,
}

% ------------------------------------------- mathematische Umgebungen -------------------------
% -- Zähler für Theoremumgebungen anlegen --
\newcounter{theoremzaehler}[section]

% -- Theorem Umgebungseigenschaften --
\theoremstyle{change}
\theoremheaderfont{\normalfont\bfseries}
\theorembodyfont{\slshape}
\theoremseparator{.}
\theoremindent0cm
\theoremnumbering{arabic}
\theoremsymbol{}

% -- Theorem --
\newtheorem{Theorem}[theoremzaehler]{Theorem}
% -- Lemma --
\newtheorem{Lemma}[theoremzaehler]{Lemma}
% -- Proposition --
\newtheorem{Proposition}[theoremzaehler]{Proposition}
% -- Satz --
\newtheorem{Satz}[theoremzaehler]{Satz}
% -- Korollar --
\newtheorem{Korollar}[theoremzaehler]{Korollar}
% -- Definition --
\newtheorem{Definition}[theoremzaehler]{Definition}
% -- Bemerkung --
\newtheorem{Bemerkung}[theoremzaehler]{Bemerkung}
% -- Anmerkung --
\newtheorem{Anmerkung}[theoremzaehler]{Anmerkung}
% -- Beweis --
\theoremstyle{nonumberplain} % Standardstyle eines Theorems, ohne Zahlanzeige
\theoremheaderfont{\normalfont\slshape} % Überschrift des Beweises
\theorembodyfont{\upshape} % Schrift innerhalb eines Beweises
\theoremseparator{.} % Trennzeichen von Header und Innhalt eines Theorems, wird direkt nach dem Headerende gesetzt
\theoremindent0cm % linksseitiger Einschub des Inhalts eines Theorems
\theoremsymbol{\hspace*{\fill}$\Box$\par\vskip2ex} % Beweissymbol
\newtheorem{Beweis}{Beweis} % Beachte: Der "`theoremzaehler"' tacht hier nicht auf! (Denn dies würde dafür sorgen, dass er
% um 1 erhöht wird)
% -- Beispiel --
\theoremsymbol{}
\newtheorem{Beispiel}{Beispiel}

% --------------------------------------- Begin des Dokuments ----------------------------------
\begin{document}
\chapter{Das erste Kapitel}
\section{Erster Abschnitt}

\begin{Theorem}[Cauchy'scher Integralsatz für Sterngebiete]
Ein bisschen Textinhalt
\end{Theorem}

\begin{Beweis}
Ein bisschen Textinhalt
\end{Beweis}

\begin{Definition}
Ein bisschen Textinhalt
\end{Definition}

\begin{Beispiel}
Ein bisschen Textinhalt
\end{Beispiel}

\begin{Bemerkung}
Ein bisschen Textinhalt
\end{Bemerkung}

\section{Zweiter Abschnitt}
\end{document}


Viel Quelltext?! Die entscheidenden Zeilen befinden sich kurz vor dem Begin des Dokuments bei Beweis, genauer:



\theoremheaderfont{\normalfont\slshape}
\theorembodyfont{\upshape}


Diese Schrift wird nicht angenommen. Ersetzt man nun die Zeile (direkt davor)



\theoremstyle{nonumberplain}


durch



%\theoremstyle{nonumberplain}


so funktioniert es, aber nur mit Numerierung, die ich bei einem mathematischen Beweis nicht brauche.

Wäre schön, wenn jemand eine Lösung für mein Problem hätte.

Gruß und Dank
Denny

marius79
05-08-2007, 17:20
Hallo Denny,

der folgende Code produziert das von Dir gewünschte Ergebnis, denke ich.

\documentclass{article}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amstext}
\usepackage{latexsym}
\usepackage[amsmath,thmmarks]{ntheorem}

\theoremstyle{nonumberplain}
\theoremheaderfont{\normalfont\slshape}
\theorembodyfont{\upshape}
\theoremseparator{.}
\theoremindent0cm
\theoremsymbol{$\Box$}
\newtheorem{Beweis}{Beweis}

\begin{document}
\begin{Beweis}
Ein wenig Text.
\end{Beweis}
\end{document}
Im Gegensatz zu Deinem Minimalbeispiel fehlt bei meinem Schnippsel die Option amsthm. Brauchst Du die für Deine übrigen Umgebungen? Wenn mich nicht alles täuscht, musst Du das \theoremsymbol hinter dem Beweis auch nicht so umständlich platzieren. Das wird automatisch an's Ende der letzten Zeile des Beweises gesetzt.

Hoffe, das hat geholfen?

Grüße
marius

DDG
05-08-2007, 17:35
Hallo Marius,

eigentlich unterscheidet unsere Versionen nichts voneinander (bis auf die Dokumentklasse und der Definition des Beweiskästchens). Kopiere ich dein Quellcode (und ergänze das usepackage "ngerman"), so erhalte ich genau das gewünschte Ergebnis.

Aber ich verwende scrbook. Fehlersuche: An der Definition des Beweiskästchens liegt es nicht, das habe ich überprüft. Und die Dokumentklasse möchte ich nicht ändern. Hättest Du (oder jemand anderes) sonst noch eine Lösung?

Ich danke schon einmal vielmals

Denny

marius79
05-08-2007, 18:33
Hmm ... Wenn ich in meinem Beispiel die Klasse article durch scrbook ersetze, ändert das eigentlich nichts am Ergebnis.

Ich vermute stark, dass es an der amsthm-Option liegt. Vielleicht erklärt sich das anhand der ntheorem-Doku (http://tug.ctan.org/macros/latex/contrib/ntheorem/ntheorem.pdf), z. B. Abschn. 3.2? Keine Ahnung! Wenn Du aber nicht auf die durch diese Option bereitgestellten Möglichkeiten angewiesen bist, würde ich sie rauslassen.

Grüße
marius

DDG
05-08-2007, 18:39
Jupp, Tatsache! Daran lag es tatsächlich. Ich lese die Doku auch schon eine Weile, aber nachdem du mich darauf hingewiesen hast, stach mir dieser Satz



amsthm.sty conflicts with the definition of theorem layouts in theorem.sty, some features of amsthm.sty have been incorporated into option [amsthm] which has to be used instead of \usepackage{amsthm}.


auch ins Auge. Es klappt nun und jetzt muss ich erst nocheinmal schau'n wofür ich das nochmals eingebaut hatte. Vielleicht brauche ich das auch gar nicht.

Diskussion beendet.

Vielen Dank an marius79

Denny