Seite 1 von 1

Umgebung setzt automatisch Zeichen wenn Argument leer ist.

Verfasst: Sa 1. Jun 2013, 14:26
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

Verfasst: Sa 1. Jun 2013, 16:37
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