Umgebung setzt automatisch Zeichen wenn Argument leer ist.

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Ulf

Umgebung setzt automatisch Zeichen wenn Argument leer ist.

Beitrag von Ulf »

Hi Leute,

Leider weiß ich nicht wo meine Frage hingehört, weil es sich um eine Umgebung handelt hoffe ich dass ich hier richtig bin.

folgendes Problem:
Ich möchte dass LaTeX eine Zeichen setzt wenn ich das Zeichen nicht vorgebe.
\documentclass[10pt,a4paper]{article}
\usepackage[ngerman]{babel}	
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{amsmath,amssymb}
\usepackage{latexsym}
\usepackage{lscape}
\usepackage{array}
\usepackage{enumerate}
\usepackage{fancybox}
\usepackage{fmtcount}
\usepackage[a4paper, left=2cm, right=2cm, top=2cm]{geometry}		%definieren der Seitenränder

\newcounter{BeweisNr}

\newcommand{\xxxsection}{\padzeroes[3]{\decimal{section}}}

\newenvironment{sectionCount}[1]{\section{#1} \setcounter{BeweisNr}{0}}{}


\newcounter{BewTeilNr}

\newsavebox{\BoxTeil}


\newenvironment{Beweis}[1]{\begin{sloppypar}\noindent\refstepcounter{BeweisNr}
	\textbf{Beweis:~\xxxsection .\arabic{BeweisNr}}
	\textit{zu~Satz #1}
	\end{sloppypar}}
{\framebox[3mm][r]{}}


\newenvironment{BewTeil}[1][Text]{\begin{sloppypar}\refstepcounter{BewTeilNr}\sbox{\BoxTeil}{\textit{#1}}\xxxsection.\arabic{BeweisNr}.\roman{BewTeilNr}} 
{\mbox{}\hfill \usebox{\BoxTeil}\end{sloppypar}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\begin{sectionCount}{Kapitelname}

\begin{Beweis}{2.2}
Hier befindet sich die erste eigene Umgebung -- dargestellt als Beweis.
\end{Beweis}



\begin{BewTeil}[]
Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.
\end{BewTeil}

\begin{Beweis}{2.2}
Hier befindet sich die erste eigene Umgebung -- dargestellt als Beweis.
\end{Beweis}



\begin{BewTeil}[auto]
Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.
\end{BewTeil}

\begin{BewTeil}[]
Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.
\end{BewTeil}

\end{sectionCount}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{sectionCount}{Kapitelname}

\begin{Beweis}{2.2}
Hier befindet sich die erste eigene Umgebung -- dargestellt als Beweis.
\end{Beweis}



\begin{BewTeil}[]
Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises. Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.
\end{BewTeil}

\begin{Beweis}{2.2}
Hier befindet sich die erste eigene Umgebung -- dargestellt als Beweis.
\end{Beweis}



\begin{BewTeil}[]
Hier befindet sich die zweite Umgebung -- dargestellt als Teil eines Beweises.
\end{BewTeil}

\end{sectionCount}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\end{document}
Und zwar soll in der Umgebung "BewTeil" irgendwie eine Abfrage machen. So dass wenn kein Argument gegeben wurde am Ende das Zeichen / steht oder wenn ein Argument steht, sich dieses kursiv an dieser Position befindet.

Es gehört zu einer HA, und mir würde nur dieser Teil fehlen.

Danke für jede Hilfe

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

mit
\\newenvironment{BewTeil}[1][/]{...}{...}
wird / als Standard für das optionale Argument vorgegeben.

Der Standardwert wird genau dann verwendet, wenn das optionale Argument nicht mitangegeben wird :
\begin{BewTeil}
...
\end{BewTeil}
Bei \begin{BewTeil}[] wird statt des Standardwertes der Inhalt der geschweiften Klammern - also nichts - verwendet ;-)

Das Rücksetzen des BeweisNr Zählers am Anfang einer neuen section, kannst du übrigens schon bei der Zählerdefinition vorgeben:
\newcounter{BeweisNr}[section]
Gruß
Elke

Antworten