Doppelpunkte nach jedem Beschreibungselement erhalten (ohne Verwendung des Listing-Pakets)

Doppelpunkte nach jedem Beschreibungselement erhalten (ohne Verwendung des Listing-Pakets)

aktueller Output:

Beschreibung 1Bla 1

gewünschte Ausgabe:

Beschreibung 1:Bla 1


MWEs:

aktueller Output:

\documentclass[oneside,12pt]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{fontspec}
\begin{document}
\begin{description}
\item[Desc 1] Bla 1
\end{description}
\end{document}

gewünschte Ausgabe:

\documentclass[oneside,12pt]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{fontspec}
\begin{document}
\begin{description}
\item[Desc 1:] Bla 1
\end{description}
\end{document}

natürlich weiß ich, dass ich es durch Regex-Ersetzen tun könnte ... aber ich bin ziemlich sicher, dass es einen einfacheren und eleganteren Weg gibt. Außerdem suche ich nach einer Lösung für den Fall, dass ich >100 Elemente habe

Antwort1

Definieren Sie neu \descriptionlabel, um den Doppelpunkt hinzuzufügen:

\documentclass[oneside,12pt]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{fontspec}

\renewcommand*{\descriptionlabel}[1]{\hspace{\labelsep}\descfont #1:}

\begin{document}
\begin{description}
\item[Desc 1] Bla 1
\item[Desc 2] Bla 2
\item[Desc 3] Bla 3
\end{description}
\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Für den Fall, dass das optionale Argument von nicht verwendet wird, habe ich keine Vorkehrungen getroffen, \itemda dies in einem von vornherein keinen Sinn ergeben würde description.

Antwort2

Dadurch wird neu definiert \item, es erfolgt jedoch ein Standardverhalten (Doppelpunkt weglassen), wenn kein optionales Argument angegeben ist.

\documentclass[oneside,12pt]{scrartcl}
%\usepackage{polyglossia}
%\setdefaultlanguage{german}
%\usepackage{fontspec}
\let\svitem\item
\renewcommand\item[1][\relax]{\ifx\relax#1\svitem\else\svitem[#1:]\fi}
\begin{document}
\begin{description}
\item[Desc 1] Bla 1
\item Default empty tag
\end{description}
\end{document}

Bildbeschreibung hier eingeben

Da es neu definiert \item, wirkt sich das obige MWE auf andere Listentypen aus. Dies kann jedoch mit dem folgenden MWE vermieden werden, das sich nur auf die descriptionUmgebung auswirkt.

\documentclass[oneside,12pt]{scrartcl}
%\usepackage{polyglossia}
%\setdefaultlanguage{german}
%\usepackage{fontspec}
\let\svitem\item
\newcommand\altitem[1][\relax]{\ifx\relax#1\svitem\else\svitem[#1:]\fi}
\let\svdescription\description
\def\description{\let\item\altitem\svdescription}
\begin{document}
\begin{description}
\item[Desc 1] Bla 1
\item Default empty tag
\end{description}
\begin{itemize}
\item[Desc 1] Bla 1
\item Default empty tag
\end{itemize}
\end{document}

verwandte Informationen