Wenn Du beispielsweise einen Tippfehler hast und die Definiion mit \begin/\end machst:
\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\begin{itemize}%
}
{\end{itemize}}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}
dann erhältst Du den Fehler
! LaTeX Error: \begin{itemize} on input line 15 ended by \end{myenw}.
Dabei enthält Zeile 15 doch gar kein \begin{itemize}! Es macht vielleicht nichts in diesem Fall, da Du die Umgebung selbst definiert hast. Stell Dir aber vor, Paketautoren würden das auch machen...
Die Alternative
\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\itemize
}
{\enditemize}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}
liefert die viel aussagekräftigere Fehlermeldung
! LaTeX Error: \begin{myenv} on input line 15 ended by \end{myenw}.
Zur anderen Frage: wenn man eine Umgebung
\newenvironment{myenv}
{start}
{ende}
definiert, dann definiert man im Grunde genommen zwei Befehle, in etwa
\def\myenv{start}
\def\endmyenv{ende}
Das ist zwar nicht alles, was bei der Definition passiert, fasst aber das wesentliche zusammen. Das bedeutet, man kann jede Umgebung (mit Ausnahmen) auch durch zwei Befehle \umgebung/\endumgebung verwenden. Im Dokument selber ist das eher zu vermeiden, in Definitionen neuer Umgebungen aber von Vorteil, unter anderem aus obigen Grund.
Grüße
Wenn Du beispielsweise einen Tippfehler hast und die Definiion mit \begin/\end machst:
[code]\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\begin{itemize}%
}
{\end{itemize}}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}[/code]
dann erhältst Du den Fehler
[code]! LaTeX Error: \begin{itemize} on input line 15 ended by \end{myenw}.[/code]
Dabei enthält Zeile 15 doch gar kein \begin{itemize}! Es macht vielleicht nichts in diesem Fall, da Du die Umgebung selbst definiert hast. Stell Dir aber vor, Paketautoren würden das auch machen...
Die Alternative
[code]\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\itemize
}
{\enditemize}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}[/code]
liefert die viel aussagekräftigere Fehlermeldung
[code]! LaTeX Error: \begin{myenv} on input line 15 ended by \end{myenw}.[/code]
Zur anderen Frage: wenn man eine Umgebung
[code]\newenvironment{myenv}
{start}
{ende}[/code]
definiert, dann definiert man im Grunde genommen zwei Befehle, in etwa
[code]\def\myenv{start}
\def\endmyenv{ende}[/code]
Das ist zwar nicht alles, was bei der Definition passiert, fasst aber das wesentliche zusammen. Das bedeutet, man kann jede Umgebung (mit Ausnahmen) auch durch zwei Befehle \umgebung/\endumgebung verwenden. Im Dokument selber ist das eher zu vermeiden, in Definitionen neuer Umgebungen aber von Vorteil, unter anderem aus obigen Grund.
Grüße