Absatz nach eigener Umgebung

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Feedback1000
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 10. Jul 2018, 11:34

Absatz nach eigener Umgebung

Beitrag von Feedback1000 »

Hallo,

ich habe es hinbekommen eine Umgebung zu basteln (und da bin ich schon sehr stolz auf mich. Allerdings funktioniert hier mein Absatz-Abstand-Konzept nicht mehr. Nach meiner Umgebung wird kein Abstand gesetzt.
\documentclass{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{xcolor}
\usepackage{blindtext}

%Einrückung bei Absätzen wird verhindert
\setlength{\parindent}{0em}

%Eigene Umgebung
\newenvironment{annotation}{\itshape \color{blue}}

\begin{document}
\section{Das Problem mit den Absätzen}
\blindtext
\\\\
\blindtext
\\\\
\begin{annotation}
\blindtext
\end{annotation}
\\\\
\blindtext
\end{document}
Kann mir jemand sagen, was da los ist und wie man es lösen kann?
Vielleicht gibt es sogar einen Befehl bzw. ein package, was \\\\ überflüssig macht?
VG
TheMrFeedback

ich meine ja nur

Re: Absatz nach eigener Umgebung

Beitrag von ich meine ja nur »

Katastrophe!
  • Verwende niemals \\ im Haupttext! Damit beschädigst du den Absatzumbruch von TeX und erzeugst ggf. sogar Leerzeilen am Seitenanfang. Absätze macht man hingegen immer entweder mit Leerzeile im Code oder mit der Anweisung \par (es gibt zwar weitere Möglichkeiten, aber ausschließlich für Paketautoren bzw. Experten).
  • Verwende niemals \setlength{\parindent}{0em}, um den Absatzeinzug abzuschalten.
  • Lies unbedingt: Wie der Absatzeinzug korrekt verhindert wird. Wenn man das aufmerksam liest, sollte es beide zuvor genannten Problempunkte lösen.
  • \newenvironment hat drei obligatorische (und zwei optionale) Argumenten. Du hast das letzte obligatorische Argument einfach weggelassen. Das kann übel ins Auge gehen und ist auf jeden Fall falsch.
  • Du solltest am Anfang des begin-Argument, noch vor \itshape vermutlich ein \par ergänzen, damit die Umgebung bereits mit einem neuen Absatz beginnt.
Zu deinem eigentlichen Problem: Du solltest unbedingt das fehlende end-Argument ergänzen. Ich empfehle hier ebenfalls ein \par zu verwenden. Die korrekte Syntax von \newenvironment liest du bitte noch einmal in einer ausführlichen LaTeX-Einführung oder im usrguide nach. Beachte, dass man nur optionale Argumente (die in eckigen Klammern) weglassen darf, obligatorische (die in geschweiften Klammern) sind dagegen zwingend.

Ansonsten sei noch darauf hingewiesen, dass man \usepackage[utf8]{inputenc} seit LaTeX 2018/04/01, also seit mehr als vier Jahren nicht mehr benötigt. Falls du das doch benötigst, ist dein LaTeX so veraltet, dass du ein Update in Erwägung ziehen solltest. Support wird dann nämlich langsam aber sicher schwierig.

Antworten