Seite 1 von 1

"." zu ":" in amsthm

Verfasst: Fr 6. Jun 2014, 10:27
von Dimitri
Hallo,

sitze nun schon einige Zeit an folgendem Problem:
Ich würde bei den amsthm-Umgebungen anstatt einem "." zum Schluss einen ":" bevorzugen -- sonst nichts. Dazu habe ich in die Doku geschaut, in der "eine Reihe von Befehlen" steht, mit welchen ich Mir eine neue Umgebung definieren kann. Dann definiere ich aber eine Umgebung KOMPLETT neu... Außerdem: Stimmen die dort angegebenen Werte der Abstände mit den default-Werten überein (letztere konnte ich nicht ausfindig machen)?

Kann Mir da bitte jemand helfen?
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsthm}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\theoremstyle{remark}
\newtheorem{remark}{Bemerkung}

\begin{document}

\begin{theorem}
testtheorem
\end{theorem}
\begin{definition}
testdefinition
\end{definition}
\begin{remark}
testbemerkung
\end{remark}
\end{document}

% lieber alles mit Doppelpunkt
Außerdem: Wo kann ich denn die default-Werte der Umgebungen finden?


LG

Verfasst: Fr 6. Jun 2014, 15:32
von Johannes_B
Mir ist nichts besseres eingefallen als
thm@headpunct direkt an das jeweilige
Makro (Stil) anzuhängen. Die Originaldefinition findest du
übrigens immer in der Paketdatei (Dateiendung .sty).
Beispielsweise hier für definition:
\def\th@definition{%
  \normalfont % body font
}
Die Initialwerte werden direkt nach dem Erzeugen mit
newtoks gesetzt.
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsthm}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\theoremstyle{remark}
\newtheorem{remark}{Bemerkung}

\usepackage{etoolbox}
\makeatletter
\appto\th@definition{
	\thm@headpunct{:}
}
\appto\th@remark{
	\thm@headpunct{{%
%	\normalfont
:}}
}
\appto\th@plain{
\thm@headpunct{:}
}
\makeatother
\begin{document}

\begin{theorem}
testtheorem 
\end{theorem}
\begin{definition}
testdefinition 
\end{definition}
\begin{remark}
testbemerkung 
\end{remark}
\end{document} 

Verfasst: Fr 6. Jun 2014, 15:52
von Dimitri
Hallo Johannes,

vielen Dank für deine Hilfe! :-) Habe Mir heute mal das ntheorem-paket angesehen. Ich glaube damit isses einfacher. Was ich aber einfach nicht verstehe ist, warum Latex das qed-Kästchen nicht "hinzeichnet". Habe echt schon ziemlich viel rumprobiert, aber ich kriegs einfach nicht hin. Könnte Mir da noch bitte jemand helfen?
\documentclass[fontsize=12pt]{scrreprt}
\usepackage{amsmath}
\usepackage[thmmarks,amsmath]{ntheorem}
\usepackage{blindtext}

\theoremheaderfont{\bfseries}
\theoremseparator{:}
\newtheorem{thm}{theorem}

\theoremsymbol{\qed}
\newtheorem{pr}{proof}

\begin{document}

\begin{thm}
bla
\end{thm}
\blindtext
\begin{pr}
bla
\end{pr}

\end{document}
LG

PS: Das Doofe bei der obigen (deiner - amsthm) Version ist halt, dass die "1" bei der Bemerkung nicht kursiv ist... Da müsste man dann auch nochmal ran...

Verfasst: Fr 6. Jun 2014, 16:24
von Dimitri
Oder erscheint bei euch das Kästchen? Bie Mir erscheint auf jeden Fall nix. Und es kommt auch keine Fehlermeldung, z.B. dass Latex \qed nicht finden kann o.ä.

Verfasst: Fr 6. Jun 2014, 22:25
von Johannes_B
ntheorem, besonders die Dokumentation, ist an dieser Stelle ein wenig seltsam. Oder um egreg zu zitieren:
Wrong, inaccurate and misleading.
\documentclass{article}
\usepackage{amsmath}
\usepackage[thmmarks,amsmath]{ntheorem}
\newtheorem{thm}{theorem}
\qedsymbol{!!}
\begin{document}
\begin{thm}
bla \qed
\end{thm}
\end{document}


Stattdessen ein Beispiel mit thmtools:
\documentclass{article}
\usepackage{amsmath}
\usepackage[
  thmmarks,
  amsmath
]{ntheorem}
\usepackage{thmtools}

\declaretheoremstyle[
  qed=!!,
]{qed}
\declaretheorem[
  style=qed,
  title=Theorem,
]{thm}
\begin{document}
\begin{thm}
bla
\end{thm}
\end{document}

Verfasst: Fr 6. Jun 2014, 22:47
von Dimitri
Vielen Dank! :-)