> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/de/befehle/02-environments.md).

# Umgebungen

LaTeX-Umgebungen werden verwendet, um bestimmte Satz-/Formatierungseffekte auf einen Abschnitt des Inhalts Ihres Dokuments anzuwenden. Dieser Artikel erklärt, wie man vorhandene Umgebungen verwendet und neue definiert.

## Einführung

Eine Umgebung beginnt mit `\begin{name}` und endet mit `\end{name}`:

```
\begin{name}
Ihr Inhalt hier...
...kommt hier hin...
\end{name}
```

wobei „`Name`“ der Name der verwendeten Umgebung ist – wie im folgenden Beispiel mit „`center`“ zur Formatierung (Zentrierung) eines Absatzes Text:

```latex
\documentclass{article}
\begin{document}
\begin{center}
Dies ist eine Demonstration der Umgebung \texttt{center}.
Dieser Absatz Text wird \textit{zentriert} sein, weil er
sich innerhalb einer speziellen Umgebung befindet. Umgebungen bieten
eine effiziente Möglichkeit, Textblöcke innerhalb Ihres Dokuments zu verändern.
\end{center}
\end{document}
```

[Dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Simple+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bcenter%7D%0AThis+is+a+demonstration+of+the+%5Ctexttt%7Bcenter%7D+environment.+%0AThis+paragraph+of+text+will+be+%5Ctextit%7Bcentred%7D+because+it+is+%0Acontained+within+a+special+environment.+Environments+provide+%0Aan+efficient+way+to+modify+blocks+of+text+within+your+document.%0A%5Cend%7Bcenter%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Bild, das die zentrierte Ausrichtung zeigt](/files/4dc8bb1c16c640961cdc9cdb70cbd94faa211a7e)

## Umgebungen

Das folgende Beispiel verwendet das `tabular` Umgebung, um eine kleine Tabelle zu setzen. `tabular` nimmt ein zusätzliches Argument `{ c c c }` das die Ausrichtung der Zellen definiert – siehe den [Tabellen](/latex/de/abbildungen-und-tabellen/01-tables.md) Artikel für weitere Informationen.

```latex
\documentclass{article}
\begin{document}
\begin{tabular}{ c c c }
  zelle1 & zelle2 & zelle3 \\
  zelle4 & zelle5 & zelle6 \\
  zelle7 & zelle8 & zelle9 \\
 \end{tabular}
\end{document}
```

[Dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Simple+tabular+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btabular%7D%7B+c+c+c+%7D+%0A++cell1+%26+cell2+%26+cell3+%5C%5C+%0A++cell4+%26+cell5+%26+cell6+%5C%5C+%0A++cell7+%26+cell8+%26+cell9+%5C%5C+%0A+%5Cend%7Btabular%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel der tabular-Umgebung](/files/977a83914cc7aa0f12cbfa06479509b1f7a66d88)

Einige Umgebungen akzeptieren optionale Argumente, die normalerweise in eckigen Klammern (`[...]`).

## Definieren einer neuen Umgebung

Um eine neue Umgebung zu definieren, verwenden Sie den `\newenvironment` Befehl, der die allgemeine Form hat:

```
\newenvironment{name}[numarg][optarg_default]{begin_def}{end_def}
```

wobei:

* `Name` ist der Name dieses benutzerdefinierten Arguments;
* `numarg` ist die Anzahl der Argumente von 1 bis 9, die diese Umgebung akzeptiert. Wenn `[numarg]` weggelassen wird, akzeptiert die Umgebung keine Argumente – wie bei der [`boxed` Umgebung, die im nächsten Beispiel definiert ist](#defining-simple-environments);
* `optarg_default` macht das erste Argument optional und legt einen Standardwert fest – d. h., es ist der Wert, der verwendet wird, wenn kein Wert für das optionale Argument angegeben wird;
* `begin_def` ist LaTeX-Code, der ausgeführt wird, wenn die Umgebung beginnt (geöffnet wird), d. h. wenn Sie `\begin{name}`. Innerhalb dieses Codes können Sie Argumente verwenden, die von der Umgebung akzeptiert werden – beachten Sie, dass das optionale Argument #1 ist und auf die verbleibenden Argumente mit #2 bis #numarg zugegriffen wird;
* `end_def` ist LaTeX-Code, der ausgeführt wird, wenn die Umgebung endet (geschlossen wird); d. h. wenn Sie `\end{name}`. Sie können innerhalb dieses Codeabschnitts keine der Argumente verwenden.

### Definieren einfacher Umgebungen

In diesem ersten Beispiel definieren wir die `boxed` Umgebung, die keine Argumente annimmt. Sie zeichnet einen Rahmen um den Text, der sich innerhalb der Umgebung befindet:

```latex
\documentclass{article}
%Wir können die Umgebung in der Präambel definieren
\newenvironment{boxed}
    {\begin{center}
    \begin{tabular}{|p{0.9\textwidth}|}
    \hline\\
    }
    {
    \\\\\hline
    \end{tabular}
    \end{center}
    }
%
\begin{document}
Nun können wir die \texttt{boxed}-Umgebung in unserem Dokument verwenden:

\begin{boxed}
Dieser Text ist innerhalb der \texttt{boxed}-Umgebung formatiert.
\end{boxed}

Dieser Text ist außerhalb der \texttt{boxed}-Umgebung gesetzt.
\end{document}
```

[Dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+new+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%25We+can+define+the+environment+in+the+preamble%0A%5Cnewenvironment%7Bboxed%7D%0A++++%7B%5Cbegin%7Bcenter%7D%0A++++%5Cbegin%7Btabular%7D%7B%7Cp%7B0.9%5Ctextwidth%7D%7C%7D%0A++++%5Chline%5C%5C%0A++++%7D%0A++++%7B+%0A++++%5C%5C%5C%5C%5Chline%0A++++%5Cend%7Btabular%7D+%0A++++%5Cend%7Bcenter%7D%0A++++%7D%0A%25%0A%5Cbegin%7Bdocument%7D%0ANow+we+can+use+the+%5Ctexttt%7Bboxed%7D+environment+in+our+document%3A%0A%0A%5Cbegin%7Bboxed%7D%0AThis+text+is+formatted+within+the+%5Ctexttt%7Bboxed%7D+environment.%0A%5Cend%7Bboxed%7D%0A%0AThis+text+is+typeset+outside+the+%5Ctexttt%7Bboxed%7D+environment.%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Demonstration einer benutzerdefinierten LaTeX-Umgebung](/files/693cba26884c91ad7efa13f4f37417b3a5b2827a)

Wenn wir unsere Definition von `boxed` mit der allgemeinen Form von `\newenvironment` vergleichen, sehen wir:

* `Name` ist `boxed`;
* weder `[numarg]` oder `[optarg_default]` angegeben, da diese Umgebung keine Argumente annimmt;
* `begin_def` ist der LaTeX-Code – angegeben zwischen einem Paar geschweifter Klammern `{...}`– der ausgeführt wird, wenn die Umgebung *beginnt* (öffnet):

```latex
\begin{center}
    \begin{tabular}{|p{0.9\textwidth}|}
    \hline\\
```

* `end_def` ist der LaTeX-Code – angegeben zwischen einem Paar geschweifter Klammern `{...}`– der ausgeführt wird, wenn die Umgebung *endet* (schließt):

```latex
    \\\\\hline
    \end{tabular}
    \end{center}
```

Im Beispiel `begin_def` beginnt eine `center` Umgebung und darin wird eine `tabular` Umgebung geöffnet, um vertikale Linien und eine horizontale Linie um den Text zu zeichnen, den wir in die Umgebung setzen. `end_def` zeichnet noch eine horizontale Linie und schließt dann die `tabular` und `center` Umgebungen.

### Umgebungen definieren, die Argumente annehmen

Erweitern wir das vorherige Beispiel um Folgendes:

* ein optionales Argument verwenden, um einen Titel zu setzen. Wenn kein Titel angegeben wird, wird der Standardwert verwendet `Dies ist eine Box`;
* ein zweites Argument verwenden, das Material enthält, das vor dem Text gesetzt wird, den wir innerhalb der Umgebung selbst angeben.

Wir haben also 2 Argumente:

* das erste (Argument 1) ist optional;
* das zweite (Argument 2) nicht.

Das bedeutet `numarg`=2.

Wir können die folgende Definition unserer aktualisierten `boxed` Umgebung verwenden müssen:

```latex
\newenvironment{boxed}[2][This is a box]
    {\begin{center}
    Argument 1 (\#1)=#1\\[1ex]
    \begin{tabular}{{{!}}p{0.9\textwidth}{{!}}}
    \hline\\
    Argument 2 (\#2)=#2\\[2ex]
    }
    {
    \\\\\hline
    \end{tabular}
    \end{center}
    }
```

Diese erweiterte Version unterscheidet sich vom Original in den folgenden Punkten:

* \[numarg] ist vorhanden und hat den Wert 2;
* \[optarg\_default] ist ebenfalls vorhanden und macht das erste Argument mit einem Standardwert optional `Dies ist eine Box`.

Das folgende Beispiel zeigt einige Verwendungen unserer aktualisierten `boxed` Umgebung verwenden müssen:

```latex
\documentclass{article}
% Beachten Sie den Standardwert für das erste
% Argument wird durch [This is a box] bereitgestellt
\newenvironment{boxed}[2][This is a box]
    {\begin{center}
    Argument 1 (\#1)=#1\\[1ex]
    \begin{tabular}{|p{0.9\textwidth}|}
    \hline\\
    Argument 2 (\#2)=#2\\[2ex]
    }
    {
    \\\\\hline
    \end{tabular}
    \end{center}
    }
\begin{document}
\textbf{Beispiel 1}: Den Standardwert für das erste Argument verwenden:

\begin{boxed}{Einige einleitende Texte}
Dieser Text befindet sich \textit{innerhalb} der Umgebung.
\end{boxed}

Dieser Text befindet sich \textit{außerhalb} der Umgebung.

\vskip12pt

\textbf{Beispiel 2}: Einen Wert für das erste Argument angeben:

\begin{boxed}[Dies ist nicht der Standardwert]{Noch etwas einleitender Text}
Dieser Text befindet sich immer noch \textit{innerhalb} der Umgebung.
\end{boxed}

Dieser Text befindet sich auch \textit{außerhalb} der Umgebung.
\end{document}
```

[Dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Environment+with+an+optional+argument\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Note+the+default+value+for+the+first%0A%25+argument+is+provided+by+%5BThis+is+a+box%5D%0A%5Cnewenvironment%7Bboxed%7D%5B2%5D%5BThis+is+a+box%5D%0A++++%7B%5Cbegin%7Bcenter%7D%0A++++Argument+1+%28%5C%231%29%3D%231%5C%5C%5B1ex%5D%0A++++%5Cbegin%7Btabular%7D%7B%7Cp%7B0.9%5Ctextwidth%7D%7C%7D%0A++++%5Chline%5C%5C%0A++++Argument+2+%28%5C%232%29%3D%232%5C%5C%5B2ex%5D%0A++++%7D%0A++++%7B+%0A++++%5C%5C%5C%5C%5Chline%0A++++%5Cend%7Btabular%7D+%0A++++%5Cend%7Bcenter%7D%0A++++%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctextbf%7BExample+1%7D%3A+Use+the+default+value+for+the+first+argument%3A%0A+%0A%5Cbegin%7Bboxed%7D%7BSome+preliminary+text%7D%0AThis+text+is+%5Ctextit%7Binside%7D+the+environment.%0A%5Cend%7Bboxed%7D%0A%0AThis+text+is+%5Ctextit%7Boutside%7D+the+environment.%0A%0A%5Cvskip12pt%0A%0A%5Ctextbf%7BExample+2%7D%3A+Provide+a+value+for+the+first+argument%3A%0A+%0A%5Cbegin%7Bboxed%7D%5BThis+is+not+the+default+value%5D%7BSome+more+preliminary+text%7D%0AThis+text+is+still+%5Ctextit%7Binside%7D+the+environment.%0A%5Cend%7Bboxed%7D%0A%0AThis+text+is+also+%5Ctextit%7Boutside%7D+the+environment.%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Umgebung mit optionalem Parameter](/files/76e1280db153769df2fe4e0c67cc9a7d0be2b96d)

### Nummerierte Umgebungen

Nummerierte Umgebungen können entweder manuell oder direkt mit dem Befehl erstellt werden `\newtheorem`, wie im folgenden Beispiel gezeigt:

```latex
\documentclass{article}
% Definieren wir unsere nummerierte Umgebung in der Präambel
\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \noindent \textbf{Example~\theexample. #1} \rmfamily}{\medskip}

% Eine weitere nummerierte Umgebung, definiert mit \newtheorem
\usepackage{amsmath} % Für den Befehl \newtheorem
\newtheorem{SampleEnv}{Beispielumgebung}[section]
\begin{document}

\section{Benutzerdefinierte nummerierte Umgebungen}

\begin{example}
Erste benutzerdefinierte nummerierte Umgebung (Nummer \theexample).
\end{example}

\begin{example}
Zweite benutzerdefinierte nummerierte Umgebung (Nummer \theexample).
\end{example}

\section{Weitere benutzerdefinierte nummerierte Umgebungen}
Beachten Sie, wie die Nummerierung des Beispiels wieder bei 1 begonnen hat:

\begin{example}
Erste benutzerdefinierte nummerierte Umgebung (Nummer \theexample).
\end{example}

\begin{SampleEnv}
Benutzerdefinierte Umgebung, erstellt mit dem Befehl \verb|\newtheorem|.
\end{SampleEnv}
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+numbered+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Define+our+numbered+environment+within+the+preamble%0A%5Cnewcounter%7Bexample%7D%5Bsection%5D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%5Crefstepcounter%7Bexample%7D%5Cpar%5Cmedskip%0A+++%5Cnoindent+%5Ctextbf%7BExample%7E%5Ctheexample.+%231%7D+%5Crmfamily%7D%7B%5Cmedskip%7D%0A%0A%25+Another+numbered+environment+defined+with+%5Cnewtheorem%0A%5Cusepackage%7Bamsmath%7D+%25+For+the+%5Cnewtheorem+command%0A%5Cnewtheorem%7BSampleEnv%7D%7BSample+Environment%7D%5Bsection%5D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BUser-defined+numbered+environments%7D%0A%0A%5Cbegin%7Bexample%7D%0AFirst+user-defined+numbered+environment+%28number+%5Ctheexample%29.%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0ASecond+user-defined+numbered+environment+%28number+%5Ctheexample%29.%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BMore+user-defined+numbered+environments%7D%0ANote+how+the+example+numbering+has+restarted+at+1%3A%0A%0A%5Cbegin%7Bexample%7D%0AFirst+user-defined+numbered+environment+%28number+%5Ctheexample%29.%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7BSampleEnv%7D%0AUser-defined+environment+created+with+the+%5Cverb%7C%5Cnewtheorem%7C+command.%0A%5Cend%7BSampleEnv%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel für benutzerdefinierte nummerierte Umgebungen](/files/9512b297f5382752150b2a6a009a27ecb32888f1)

#### Einige Hinweise

* In der manuell definierten `Beispiel` Umgebung erzeugt der Befehl `\newcounter{example}[section]` einen Zähler, auch genannt `Beispiel`. Das `Beispiel` Zähler ist:
  * um 1 erhöht durch Verwendung von `\refstepcounter{example}` innerhalb der Umgebungsdefinition;
  * jedes Mal zurückgesetzt, wenn eine neue `\section{...}` begonnen wird;
  * eine Variable, deren aktueller Wert mit `\theexample`gesetzt werden kann. Siehe [den Artikel über Zähler](/latex/de/formatierung/10-counters.md) für weitere Informationen.
* Der Befehl `\newtheorem` erzeugt direkt eine nummerierte Umgebung und nimmt drei Parameter:
  * der Name der neuen Umgebung: `SampleEnv` in unserem Beispiel;
  * der Text, der zu Beginn der Zeile fett gedruckt wird: `Beispielumgebung` in unserem Beispiel;
  * ein optionaler Parameter, der bestimmt, wann der Zähler zurückgesetzt wird; und wenn er verwendet wird, wird dem Zähler der Wert dieses Zurücksetzungszählers vorangestellt: `section` in unserem Beispiel.

Die [`amsthm` Paket](https://ctan.org/pkg/amsthm?lang=en), zusammen mit `amsmath`, bieten nützliche zusätzliche Definitionen zusammen mit `\newtheorem`; siehe [Theoreme und Beweise](/latex/de/fachspezifisch/01-theorems-and-proofs.md) für weitere Details.

## Vorhandene Umgebungen neu definieren

Umgebungen können mit `\renewenvironment` neu definiert werden, dessen Syntax dieselbe ist wie bei `\newenvironment`—siehe den Abschnitt [Definieren einer neuen Umgebung](#defining-a-new-environment) für eine Erklärung der verschiedenen Parameter:

```
\newenvironment{name}[numarg][optarg_default]{begin_def}{end_def}
```

Das nächste Beispiel definiert die `itemize` Umgebung neu – dies ist nur ein Beispiel zur Veranschaulichung des Vorgehens; es sollte in einem echten Dokument nicht verwendet werden. Die neue `itemize` Umgebung erzeugt keine Aufzählung mehr; stattdessen zentriert und betont sie den darin enthaltenen Text (macht ihn kursiv) (unter Verwendung des `\em` Befehls).

```latex
\documentclass{article}
% Definieren wir die Umgebung in der Präambel neu
\renewenvironment{itemize}
{\begin{center}\em}
{\end{center}}
\begin{document}

\begin{itemize}
Wir haben die \texttt{itemize}-Umgebung neu definiert, sodass jeder Text
innerhalb davon zentriert und hervorgehoben (kursiv) wird. Sie erzeugt keine
Aufzählung mit Aufzählungspunkten mehr --- dies ist nur ein Beispiel und nicht für den Gebrauch
in echten Dokumenten gedacht!
\end{itemize}
\end{document}
```

[Dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Redefining+an+existing+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Redefine+the+environment+in+the+preamble%0A%5Crenewenvironment%7Bitemize%7D%0A%7B%5Cbegin%7Bcenter%7D%5Cem%7D%0A%7B%5Cend%7Bcenter%7D%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bitemize%7D%0AWe+have+redefined+the+%5Ctexttt%7Bitemize%7D+environment+so+that+any+text+%0Awithin+it+is+centred+and+emphasised+%28italicized%29.+It+no+longer+creates%0Aa+bulleted+list---this+is+only+an+example+and+not+intended+for+use+%0Ain+real+documents%21%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel mit einer neu definierten itemize-Umgebung](/files/5a29b79349e066ac16fcffa9072df062625f0164)

## Weiterführende Lektüre

Weitere Informationen finden Sie unter:

* [Befehle](/latex/de/befehle/01-commands.md)
* [Pakete und Klassen-Dateien verstehen](/latex/de/klassendateien/01-understanding-packages-and-class-files.md)
* [Ein eigenes Paket schreiben](/latex/de/klassendateien/03-writing-your-own-package.md)
* [Eine eigene Klasse schreiben](/latex/de/klassendateien/04-writing-your-own-class.md)
* [Längen in LaTeX](/latex/de/formatierung/01-lengths-in-latex.md)
* [Farben in LaTeX verwenden](/latex/de/formatierung/13-using-colors-in-latex.md)
* [Seitengröße und Ränder](/latex/de/formatierung/07-page-size-and-margins.md)
* [Liste der Pakete und Klassen-Dateien](/latex/de/klassendateien/02-overleaf-and-tex-live.md)
* [Die nicht ganz so kurze Einführung in LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Creating\_Packages auf WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Creating_Packages)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/de/befehle/02-environments.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
