Hallo zusammen,

ich verwende aktuell u.a. die folgende Umgebungen mit amsthm:

Open in Online-Editor
\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}                 
\usepackage{microtype}                              
\usepackage{needspace}
\usepackage{enumitem}
\usepackage{framed}
\usepackage{xcolor}

\usepackage{amsthm}

\newlength{\internalindent}
\setlength{\internalindent}     
    {.5cm}

\definecolor{def_color}         {HTML}{194D6C}
\definecolor{def_shade_color}       {HTML}{C7DDF2}
\definecolor{thm_color}         {HTML}{2F2512}
\definecolor{thm_shade_color}       {HTML}{FEEAC9}

\newtheoremstyle{thmstyle}
    {\internalindent}
    {\internalindent}{
        \addtolength{\leftskip} {\internalindent}                    
        \addtolength{\rightskip}{\internalindent}
    }
    {0pt}{}{}
    {\newline}
    {\textcolor{thm_color}{\textbf{#1} #2} \quad  \textbf{#3}}
\theoremstyle{thmstyle}  
\newtheorem*{tmp_satz*}{Satz}
\newtheorem*{tmp_def*}{Definition}
\newenvironment{satz}[1][]{
    \setlist            {rightmargin=\internalindent}
    \setitemize     {leftmargin=\leftmargin}
    \setenumerate   {leftmargin=\leftmargin+\internalindent}
    \definecolor{shadecolor}{named}{thm_shade_color}
    \needspace{4\baselineskip}
    \begin{shaded}\begin{tmp_satz*}[#1]
}{
    \end{tmp_satz*}
    \end{shaded}
    \noindent\ignorespacesafterend
}
\newenvironment{definition}[1][]{   
    \setlist            {rightmargin=\internalindent}
    \setitemize     {leftmargin=\leftmargin}
    \setenumerate   {leftmargin=\leftmargin+\internalindent}
    \definecolor{shadecolor}{named}{def_shade_color}
    \needspace{4\baselineskip}
    \begin{shaded}\begin{tmp_def*}[#1]
}{
    \end{tmp_def*}
    \end{shaded}
    \noindent\ignorespacesafterend
}

\begin{document}
\begin{satz}
Satz ohne Name
\end{satz}
\begin{satz}[Name]
Satz mit Name
\end{satz}
\end{document}

Das liefert mir bisher wie gewünscht unnummerierte Definitionen und Sätze der Form

Open in Online-Editor
Definition
Hier steht abgesetzt die Definition auf farbigem Hintergrund

Will ich nun die Definition mit einem konkreten Namen versehen um z.B. den Logarithmus zu definieren, setze ich das "Logarithmus" als optionales Argument: begin{definition}[Logarithmus] ... end{definition} was in der Ausgabe zu

Open in Online-Editor
Definition Logarithmus
...

führt. Ist es möglich, dass bei der Angabe des optionalen Arguments das "Definition" unterdrückt und stattdessen nur "Logarithmus" da steht, d.h. die Ausgabe so aussieht?

Open in Online-Editor
Logarithmus
...

Steht kein optinales Argument da, soll weiterhin Definition da stehen. Analog soll das auch für die Satz-Umgebung gelten.

gefragt 30 Mai, 09:57

Hirshy's gravatar image

Hirshy
306214
Akzeptiert: 85%

bearbeitet 30 Mai, 10:54

Du bist nun schon einige Zeit dabei und hast mehrere Fragen gestellt. Man könnte erwarten, dass du mittlerweile weißt, wie man ein Minimalbeispiel erstellt.

(30 Mai, 10:34) Henri

@Henri eigentlich hatte ich ein vollständiges Minimalbeispiel erstellt. :/ Ich hatte kurz vor dem abschicken Probleme mit der Codeformatierung und habe die Umgebungen noch einmal neu in das Textfeld kopiert, da ist der Rest dann anscheinend verloren gegangen. Ich editier es noch einmal rein.

(30 Mai, 10:44) Hirshy

Ich habe einfach in den \newtheoremstyle einen Check eingefügt, ob der Zusatztitel leer ist.

Open in Online-Editor
{\textcolor{thm_color}{\textbf{#1} #2} \quad  \textbf{#3}}

wird zu

Open in Online-Editor
{\if\relax\detokenize{#3}\relax
   \textcolor{thm_color}{\textbf{#1} #2}%
 \else
   \textbf{#3}%
 \fi}

Den \quad Abstand brauchen wir nicht mehr, da ja immer nur der eine Titel angezeigt wird.

Open in Online-Editor
\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}
\usepackage{framed}
\usepackage{needspace}
\usepackage{xcolor}
\newlength\internalindent
\setlength\internalindent{1em}
\definecolor{def_color}         {HTML}{194D6C}
\definecolor{def_shade_color}       {HTML}{C7DDF2}
\definecolor{thm_color}         {HTML}{2F2512}
\definecolor{thm_shade_color}       {HTML}{FEEAC9}

\newtheoremstyle{thmstyle}
    {\internalindent}
    {\internalindent}{
        \addtolength{\leftskip} {\internalindent}                    
        \addtolength{\rightskip}{\internalindent}
    }
    {0pt}{}{}
    {\newline}
    {\if\relax\detokenize{#3}\relax
       \textcolor{thm_color}{\textbf{#1} #2}%
     \else
       \textbf{#3}%
     \fi}
\theoremstyle{thmstyle}  
\newtheorem*{tmp_satz*}{Satz}
\newtheorem*{tmp_def*}{Definition}
\newenvironment{satz}[1][]{
    \setlist            {rightmargin=\internalindent}
    \setitemize     {leftmargin=\leftmargin}
    \setenumerate   {leftmargin=\leftmargin+\internalindent}
    \definecolor{shadecolor}{named}{thm_shade_color}
    \needspace{4\baselineskip}
    \begin{shaded}\begin{tmp_satz*}[#1]
}{
    \end{tmp_satz*}
    \end{shaded}
    \noindent\ignorespacesafterend
}
\newenvironment{definition}[1][]{   
    \setlist            {rightmargin=\internalindent}
    \setitemize     {leftmargin=\leftmargin}
    \setenumerate   {leftmargin=\leftmargin+\internalindent}
    \definecolor{shadecolor}{named}{def_shade_color}
    \needspace{4\baselineskip}
    \begin{shaded}\begin{tmp_def*}[#1]
}{
    \end{tmp_def*}
    \end{shaded}
    \noindent\ignorespacesafterend
}
\begin{document}
\begin{definition}
  Der Logarithmus $\log$ ist die Umkehrfunktion der
  Exponentialfunktion $\exp$.
\end{definition}

\begin{definition}[Logarithmus]
  Der Logarithmus $\log$ ist die Umkehrfunktion der
  Exponentialfunktion $\exp$.
\end{definition}

\begin{satz}
  In einem rechtwinkligen Dreieck entspricht das Quadrat der
  l\"angsten Seite der Summe der Quadrate der beiden k\"urzeren.
  \[ a^2 + b^2 = c^2 \]
\end{satz}

\begin{satz}[Satz von Pythagoras]
  In einem rechtwinkligen Dreieck entspricht das Quadrat der
  l\"angsten Seite der Summe der Quadrate der beiden k\"urzeren.
  \[ a^2 + b^2 = c^2 \]
\end{satz}
\end{document}

alt text

Permanenter link

beantwortet 30 Mai, 10:32

Henri's gravatar image

Henri
10.0k31730

bearbeitet 30 Mai, 17:06

Nicht, dass es sehr wahrscheinlich ist, dass man hier \relax als Zusatztitel eingibt, etwas sicherer wäre \if\relax\ifx\relax\detokenize{#3}\relax … \fi dennoch :)

(30 Mai, 13:25) Clemens

@Clemens Danke! Bei dir scheint aber irgendwie ein \ifx\relax zuviel zu sein. Für alle anderen, richtig ist: \if\relax\detokenize{#3}\relax … \fi

(30 Mai, 17:08) Henri

Hoppla. Ja, ein Copy&Paste-Fehler…

(30 Mai, 17:10) Clemens
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×12
×3

Frage gestellt: 30 Mai, 09:57

Frage wurde angeschaut: 379 Mal

Zuletzt aktualisiert: 30 Mai, 17:10