goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Eigene Umgebungen (Kaesten) für Satz, Def, ...

 

hphphp3
Forum-Anfänger
Forum-Anfänger

Beiträge: 21
Anmeldedatum: 30.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2017, 14:49     Titel: Eigene Umgebungen (Kaesten) für Satz, Def, ...
  Antworten mit Zitat      
Liebe Experten

In meinem Skript erscheinen sehr viele Kästen für Def, Satz, Bew, ... und dazwischen etwas verbindender Fließtext. Mit dem Layout der Kästen bin ich eigentlich zufrieden. Da ich aber noch wenig Latex-Programmiererfahrung habe, würde ich mich über Verbesserungsvorschläge freuen.
Außerdem hätte ich gerne, dass der Kastentitel automatisch als Label verwendet wird (die Kastentitel müsste ich dann eindeutig vergeben), damit ich mich später im Text darauf beziehen kann. Leider klappt das nicht so naiv wie ich es (auskommentiert) probiert habe:


Code • Öffne in Overleaf

\documentclass[
twoside=false,
]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{ifthen}
\usepackage[dvipsnames]{xcolor}
\usepackage[framemethod=tikz]{mdframed}

%%%%%%%%%%%%%%%% Metakasten mit variabler Farbe

\newenvironment{kast}[7]
{\begin{mdframed}[
      linewidth=1pt,
      linecolor=#4,
      needspace=3.5cm,
      ignorelastdescenders=true,
      frametitleaboveskip=5pt,
      frametitlerule=true,
      frametitlebackgroundcolor=#5,
      frametitlefont=\normalfont\bfseries\color{#6},
      frametitle={\textsf{#1}},
      roundcorner=3pt,
      backgroundcolor=#7
]
      \ifthenelse{#3 = 1}{\protect\addcontentsline{toc}{subparagraph}{#1}}{}
%      \label{{#1}}
      #2
\end{mdframed} }
{}

% #1 : Titel des Kastens (Artkürzel und Name)
% #2 : Inhalt des Kastens
% #3 : Aufnahme ins Inhaltsverzeichnis (1 : ja)
% #4 : Farbe des Kastenrahmens
% #5 : Farbe der Titelleiste
% #6 : Farbe des Titelfonts
% #7 : Hintergrundfarbe des Kastenkörpers
% #8 : frei Nummerierung ja nein
% #9 : frei Label ja nein


%%%%%%%%%%%%%%%% Konkrete Kästen mit festgelegter Farbe:

%%%%%%%%%%%%%%%% ZBVkasten: Kastenfarbe = schwarz;
\newcommand{\FarbeZbv}{black}
\newcommand{\TFarbeZbv}{white}
\newcommand{\HFarbeZbv}{white}
\newenvironment{ZbvHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeZbv}{\FarbeZbv}{\TFarbeZbv}{\HFarbeZbv}}{\end{kast}}
%%%%%%%%%%%%%%%%   für ZBV u ä.

%%%%%%%%%%%%%%%% Axiomskasten: Kastenfarbe = violett;
\newcommand{\FarbeAxi}{violet}
\newcommand{\TFarbeAxi}{white}
\newcommand{\HFarbeAxi}{white}
\newenvironment{AxiHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeAxi}{\FarbeAxi}{\TFarbeAxi}{\HFarbeAxi}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Axiome, Postulate, Konventionen u ä.

%%%%%%%%%%%%%%%% Experimentkasten: Kastenfarbe = magenta;
\newcommand{\FarbeExp}{magenta}
\newcommand{\TFarbeExp}{white}
\newcommand{\HFarbeExp}{white}
\newenvironment{ExpHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeExp}{\FarbeExp}{\TFarbeExp}{\HFarbeExp}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Experimente, Versuche, Beobachtungen, Phänomene, Gedankenexperimente u ä.

%%%%%%%%%%%%%%%% Definitionskasten: Kastenfarbe = blau;
\newcommand{\FarbeDef}{blue}
\newcommand{\TFarbeDef}{white}
\newcommand{\HFarbeDef}{white}
\newenvironment{DefHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeDef}{\FarbeDef}{\TFarbeDef}{\HFarbeDef}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Definitionen u ä.

%%%%%%%%%%%%%%%% Definitions und Satzkasten: Kastenfarbe = teal;
\newcommand{\FarbeDuS}{teal}
\newcommand{\TFarbeDuS}{white}
\newcommand{\HFarbeDuS}{white}
\newenvironment{DuSHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeDuS}{\FarbeDuS}{\TFarbeDuS}{\HFarbeDuS}}{\end{kast}}
%%%%%%%%%%%%%%%%   für die Kombination aus Definitionen und Sätzen in einem Kasten.

%%%%%%%%%%%%%%%% Satzkasten: Kastenfarbe = grün;
\newcommand{\FarbeSat}{Green}
\newcommand{\TFarbeSat}{white}
\newcommand{\HFarbeSat}{white}
\newenvironment{SatHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeSat}{\FarbeSat}{\TFarbeSat}{\HFarbeSat}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Sätze, Lemmata, Korollare, Bemerkungen, Prinzipien u ä.

%%%%%%%%%%%%%%%% Beweiskasten: Kastenfarbe = hellgrün;
\newcommand{\FarbeBew}{green}
\newcommand{\TFarbeBew}{darkgray}
\newcommand{\HFarbeBew}{white}
\newenvironment{BewHP}[2]{\begin{kast}{#1}{#2 %\qed
      }{0}{\FarbeBew}{\HFarbeBew}{\TFarbeBew}{\HFarbeBew}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Beweise, Beweisskizzen, Beweisideen, Plausibilitätsbetrachtungen u  ä.

%%%%%%%%%%%%%%%% Beispielkasten: Kastenfarbe = grau;
\newcommand{\FarbeBsp}{gray}
\newcommand{\TFarbeBsp}{white}
\newcommand{\HFarbeBsp}{white}
\newenvironment{BspHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeBsp}{\FarbeBsp}{\TFarbeBsp}{\HFarbeBsp}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Beispiele, Probleme, Übungen, Aufgaben u ä.

%%%%%%%%%%%%%%%% Anwendungskasten: Kastenfarbe = dunkelgrau;
\newcommand{\FarbeAnw}{darkgray}
\newcommand{\TFarbeAnw}{white}
\newcommand{\HFarbeAnw}{white}
\newenvironment{AnwHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeAnw}{\FarbeAnw}{\TFarbeAnw}{\HFarbeAnw}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Anwendungen u ä.

%%%%%%%%%%%%%%%% Wiederholungskasten: Kastenfarbe = orange;
\newcommand{\FarbeWdh}{orange}
\newcommand{\TFarbeWdh}{white}
\newcommand{\HFarbeWdh}{white}
\newenvironment{WdhHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeWdh}{\FarbeWdh}{\TFarbeWdh}{\HFarbeWdh}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Wiederholungen u ä.

%%%%%%%%%%%%%%%% Zusammenfassungskasten: Kastenfarbe = rot;
\newcommand{\FarbeZus}{red}
\newcommand{\TFarbeZus}{white}
\newcommand{\HFarbeZus}{white}
\newenvironment{ZusHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeZus}{\FarbeZus}{\TFarbeZus}{\HFarbeZus}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Zusammenfassungen u ä.

%%%%%%%%%%%%%%%% Didaktikkasten: Kastenfarbe = pink;
\newcommand{\FarbeDid}{pink}
\newcommand{\TFarbeDid}{white}
\newcommand{\HFarbeDid}{white}
\newenvironment{DidHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeDid}{\FarbeDid}{\TFarbeDid}{\HFarbeDid}}{\end{kast}}
%%%%%%%%%%%%%%%%   für didaktische Bemerkungen, Metabemerkungen u ä.

%%%%%%%%%%%%%%%% Merkekasten: Kastenfarbe = gelb;
\newcommand{\FarbeMer}{yellow}
\newcommand{\TFarbeMer}{black}
\newcommand{\HFarbeMer}{white}
\newenvironment{MerHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeMer}{\FarbeMer}{\TFarbeMer}{\HFarbeMer}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Merke! Wichtig für SA, Wichtig für Abi u ä.

%%%%%%%%%%%%%%%% Alarmkasten: Kastenfarbe = rot und Schriftfarbe rot;
\newcommand{\FarbeAla}{red}
\newcommand{\TFarbeAla}{yellow}
\newcommand{\HFarbeAla}{yellow}
\newenvironment{AlaHP}[2]{\begin{kast}{#1}{\textsf{\color{\FarbeAla}\textbf{#2}}}{1}{\FarbeAla}{\FarbeAla}{\TFarbeAla}{\HFarbeAla}}{\end{kast}}
%%%%%%%%%%%%%%%%   für Sicherheitshinweise, Gefahrenhinweise, Verbote u ä.

\begin{document}
   
\chapter*{Inhaltsverzeichnis}\label{Inhaltsverzeichnis}
\setcounter{secnumdepth}{4} % Tiefe der automatischen Numerierung der Überschriften
\setcounter{tocdepth}{5}    % Tiefe des Inhaltsverzeichnisses
\renewcommand{\contentsname}{}{\def\clearpage{}\tableofcontents}
\clearpage

\begin{ZbvHP}
   {ZBV: Musterkasten für zur besonderen Verwendung}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{ZbvHP}
\begin{AxiHP}
   {Axi.: Musterkasten für ein Axiom}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{AxiHP}
\begin{ExpHP}
   {Exp.: Musterkasten für ein Experiment}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{ExpHP}
\begin{DefHP}
   {Def.: Musterkasten für eine Definition}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{DefHP}
\begin{DuSHP}
   {DuS: Musterkasten für eine Definition mit Satz}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{DuSHP}
\begin{SatHP}
   {Sat.: Musterkasten für einen Satz}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{SatHP}
\begin{BewHP}
   {Bew.: Musterkasten für einen Beweis}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{BewHP}
\begin{BspHP}
   {Bsp.: Musterkasten für ein Beispiel}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{BspHP}
\begin{AnwHP}
   {Anw.: Musterkasten für eine Anwendung}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{AnwHP}
\begin{WdhHP}
   {WDH: Musterkasten für eine Wiederholung}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{WdhHP}
\begin{ZusHP}
   {ZUS: Musterkasten für eine Zusammenfassung}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{ZusHP}
\begin{DidHP}
   {DiB.: Musterkasten für eine didaktische Bemerkung.}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.
      Ggf. auch in der Randspalte.
}
\end{DidHP}
\begin{MerHP}
   {Mer.: Musterkasten für ein Merke!}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.
      Ggf. auch in der Randspalte.
}
\end{MerHP}
\begin{AlaHP}
   {GEF: Musterkasten für einen GEFAHRENHINWEIS!}
   {Zuhause nur mit Taschenlampenbatterien experimentieren!\\
      Man kann nur zwei mal in einen Laser schauen!\\
      Du sollst nicht durch 0 dividieren!
}
\end{AlaHP}

Referenztest:
%Wie im Axiom \ref{{#1}} auf Seite \pageref{{#1}} gefordert wird, ...

\end{document}
 


Momentan glaube ich zwar nicht, dass die Kästen durchnummeriert werden müssen (counter), aber falls ich mich später umentscheide, gibt es dann einen Weg, wie sich das nur in der Definition der eigenen Umgebung in der Präambel machen lässt, ohne dass man dann alle Kästen im Text händisch nachbearbeiten muss?
Private Nachricht senden Benutzer-Profile anzeigen

hphphp3
Forum-Anfänger
Forum-Anfänger

Beiträge: 21
Anmeldedatum: 30.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2017, 16:14     Titel:
  Antworten mit Zitat      
Entschuldigung!
Man kann das Minimalbeispiel ja deutlich kürzer machen:

Code • Öffne in Overleaf

\documentclass[
twoside=false,
]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{ifthen}
\usepackage[dvipsnames]{xcolor}
\usepackage[framemethod=tikz]{mdframed}

%%%%%%%%%%%%%%%% Metakasten mit variabler Farbe
% #1 : Titel des Kastens (Artkürzel und Name)
% #2 : Inhalt des Kastens
% #3 : Aufnahme ins Inhaltsverzeichnis (1 : ja)
% #4 : Farbe des Kastenrahmens
% #5 : Farbe der Titelleiste
% #6 : Farbe des Titelfonts
% #7 : Hintergrundfarbe des Kastenkörpers
% #8 : frei Nummerierung ja nein
% #9 : frei Label ja nein
\newenvironment{kast}[7]
{\begin{mdframed}[
      linewidth=1pt,
      linecolor=#4,
      needspace=3.5cm,
      ignorelastdescenders=true,
      frametitleaboveskip=5pt,
      frametitlerule=true,
      frametitlebackgroundcolor=#5,
      frametitlefont=\normalfont\bfseries\color{#6},
      frametitle={\textsf{#1}},
      roundcorner=3pt,
      backgroundcolor=#7
]
      \ifthenelse{#3 = 1}{\protect\addcontentsline{toc}{subparagraph}{#1}}{}
%      \label{{#1}}
      #2
\end{mdframed} }
{}

%%%%%%%%%%%%%%%% ZBVkasten: Kastenfarbe = schwarz;
\newcommand{\FarbeZbv}{black}
\newcommand{\TFarbeZbv}{white}
\newcommand{\HFarbeZbv}{white}
\newenvironment{ZbvHP}[2]{\begin{kast}{#1}{#2}{1}{\FarbeZbv}{\FarbeZbv}{\TFarbeZbv}{\HFarbeZbv}}{\end{kast}}

\begin{document}
 \chapter*{Inhaltsverzeichnis}\label{Inhaltsverzeichnis}
\setcounter{secnumdepth}{4} % Tiefe der automatischen Numerierung der Überschriften
\setcounter{tocdepth}{5}    % Tiefe des Inhaltsverzeichnisses
\renewcommand{\contentsname}{}{\def\clearpage{}\tableofcontents}
\clearpage
\begin{ZbvHP}
   {ZBV: Musterkasten für zur besonderen Verwendung}
   {Dieser Kasten ist ein Muster für alle Kästen derselben Klasse. Und jetzt folgt noch etwas Beispieltext wegen des Zeilenumbruchs.}
\end{ZbvHP}

Referenztest:
%Wie im Axiom \ref{{#1}} auf Seite \pageref{{#1}} gefordert wird, ...
\end{document}
 


Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2018 goLaTeX.de