Abkürzung bei ntheorem

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:

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: Abkürzung bei ntheorem

Re: Abkürzung bei ntheorem

von Bartman » Do 11. Jun 2020, 16:21

In dem Fall lasse ich die Einschränkung auf die Umgebung weg und prüfe stattdessen, ob die Beschriftung des Querverweises im mathematischen Modus ausgegeben werden soll oder nicht. Die geschweiften Klammern (Gruppe) vor dem dafür nötigen Befehl \ifmmode im Argument des Befehls \crefname verhindern eine Fehlermeldung, die man ohne sie bekommt.

Die Ausgabe dürfte im Rahmen dieses Beispiels funktionieren. Weitere Fälle, die darüber hinaus gehen, habe ich nicht getestet.

\documentclass[fontsize=12pt,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[hyperref]{ntheorem}
\usepackage{mathtools}% lädt amsmath
\usepackage[hidelinks]{hyperref}
\usepackage[capitalize,nameinlink]{cleveref}

\newtheorem{defi}{Definition}[section]
\newtheorem{satz}[defi]{Satz}
\newtheorem{kor}[defi]{Korollar}

\crefname{defi}
    {{}\ifmmode\textrm{Def.}\else Definition\fi}
    {\ifmmode\textrm{Def.}\else Definitionen\fi}
\crefname{satz}
    {{}\ifmmode\textrm{Satz}\else Satz\fi}
    {\ifmmode\textrm{Sätze}\else Sätze\fi}
\crefname{kor}
    {{}\ifmmode\textrm{Kor.}\else Korollar\fi}
    {\ifmmode\textrm{Kor.}\else Korollare\fi}

\begin{document}
\pagenumbering{Roman}
\section{Abschnitt}
\begin{defi}\label{def1}
Inhalt~\dots
\end{defi}
\begin{defi}\label{def2}
Inhalt~\dots
\end{defi}
\begin{satz}\label{satz1}
Inhalt~\dots
\end{satz}
\begin{kor}\label{kor1}
Inhalt~\dots
\end{kor}

\cref{def1}
\cref{satz1}
\cref{kor1}

\begin{align*}
\overset{\cref{def1}}{=}\\
\overset{\cref{satz1}}{=}\\
\overset{\cref{kor1}}{=}
\end{align*}

\cref{def1}
\cref{satz1}
\cref{kor1}

$\cref{def1}\ \cref{satz1}\ \cref{kor1}$
\end{document}

Re: Abkürzung bei ntheorem

von Gast » Do 11. Jun 2020, 14:26

Danke, das klappt hervorragend.

Einziger Verbesserung, die ich noch vornehmen möchte, ist, dass im Fließtext, wo ich Formeln mit

Es gilt: $...$. 

einbaue, das ebenfalls klappt. Idee dafür?

Re: Abkürzung bei ntheorem

von Bartman » Mi 10. Jun 2020, 22:51

Teste bitte mit der Vorschau vor dem Absenden Deines Beitrags, ob der gewählte BBCode auch zu der erwarteten Ausgabe führt.

Mein Vorschlag benutzt cleveref:

\documentclass[fontsize=12pt,ngerman]{scrartcl}
\usepackage[T1]{fontenc}% https://texwelt.de/fragen/5537
\usepackage{lmodern}
\usepackage{babel}
\usepackage[hyperref]{ntheorem}
\usepackage{mathtools}% lädt amsmath
\usepackage{etoolbox}% für \AtBeginEnvironment
\usepackage[hidelinks]{hyperref}
\usepackage[capitalize,nameinlink]{cleveref}

\newtheorem{defi}{Definition}[section]
\newtheorem{satz}[defi]{Satz}
\newtheorem{kor}[defi]{Korollar}

\AtBeginEnvironment{align*}{
    \crefname{defi}{\textrm{Def.}}{\textrm{Def.}}
    \crefname{satz}{\textrm{Satz}}{\textrm{Satz}}
    \crefname{kor}{\textrm{Kor.}}{\textrm{Kor.}}
}

\begin{document}
% Lies die Erklärung zu dem Befehl 
% im Abschnitt 3.12. "Kopf und Fuß bei vor definierten Seitenstilen"
% in der KOMA-Script-Anleitung
\pagenumbering{Roman}
%\setcounter{page}{1}

\section{Abschnitt}
\begin{defi}\label{def1}
Inhalt~\dots
\end{defi}
\begin{satz}\label{satz1}
Inhalt~\dots
\end{satz}
\begin{kor}\label{kor1}
Inhalt~\dots
\end{kor}

\cref{def1}
\cref{satz1}
\cref{kor1}

\begin{align*}
\overset{\cref{def1}}{=}\\
\overset{\cref{satz1}}{=}\\
\overset{\cref{kor1}}{=}
\end{align*}

\cref{def1}
\cref{satz1}
\cref{kor1}
\end{document}

Abkürzung bei ntheorem

von Gast » Mi 10. Jun 2020, 19:29

[texdoc]
\documentclass[a4paper,12pt]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[hidelinks]{hyperref}
\usepackage[thref,hyperref]{ntheorem}
\usepackage{amsmath}

\begin{document}

\pagenumbering{Roman}
\setcounter{page}{1}

\newtheorem{defi}{Definition}[section]
\newtheorem{satz}[defi]{Satz}
\newtheorem{kor}[defi]{Korollar}

\section{Kapitel}
\begin{defi}\label{def1}
Inhalt...
\end{defi}
\begin{satz}\label{satz1}
Inhalt...
\end{satz}
\begin{kor}\label{kor1}
Inhalt...
\end{kor}

\subsection{Ist-Zustand}
\begin{align*}
\overset{\textrm{\thref{def1}}}{=} \\
\overset{\textrm{\thref{satz1}}}{=}\\
\overset{\textrm{\thref{kor1}}}{=}
\end{align*}

\subsection{Soll-Zustand}
\begin{align*}
\overset{\textrm{Def.}~\ref{def1}}{=} \\
\overset{\textrm{Satz}~\ref{satz1}}{=} \\
\overset{\textrm{Kor.}~\ref{kor1}}{=} \\
\end{align*}

\end{document}
[/texdoc]

Besteht die Möglichkeit, vielleicht über einen neuen Command auch thref mit Abkürzungen zu nutzen. Also dass im Fließtext weiterhin "Definition 1.1" steht, aber in einer Formel "Def. 1.1"? Und das halt automatisch für Definition, Korollar, usw.


Nach oben