.png)
現在の出力:
説明 1ブラ1
希望する出力:
説明1:ブラ1
MWE:
現在の出力:
\documentclass[oneside,12pt]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{fontspec}
\begin{document}
\begin{description}
\item[Desc 1] Bla 1
\end{description}
\end{document}
希望する出力:
\documentclass[oneside,12pt]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{fontspec}
\begin{document}
\begin{description}
\item[Desc 1:] Bla 1
\end{description}
\end{document}
もちろん、正規表現の置換でできることはわかっていますが、もっと簡単でエレガントな方法があるはずです。また、100 を超えるアイテムがある場合の解決策を探しています。
答え1
\descriptionlabel
コロンを追加するには再定義します:
\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}
結果:
のオプション引数が使用されない場合は\item
、そもそも では意味をなさないため、何も予測しませんでしたdescription
。
答え2
これは を再定義します\item
が、オプションの引数が指定されていない場合はデフォルトの動作(コロンを省略)になります。
\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}
を再定義するため\item
、上記の MWE は他のリスト タイプに影響します。ただし、次の MWE を使用すると、環境にのみ影響するため、これを回避できますdescription
。
\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}