如何用虚线给枚举标签加下划线?

如何用虚线给枚举标签加下划线?

ulem软件包提供了几个用于为文本添加下划线的命令。我尝试了所有这些命令来在我的环境中设置标签样式enumerate。有些命令有效,有些则无效。我担心这些我想用于我的文档的命令不起作用。

  • 什么有效:\uline{},,,\uuline{}\uwave{}\sout{}\xout{}
  • 不起作用的:\dashuline{}\dotuline{}

以下代码有效

\documentclass[12pt, a4paper]{article}
\usepackage{enumitem}
\usepackage{ulem} 

\begin{document}

\begin{enumerate}[label = \uline{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}

\end{document}

以下代码不起作用

\documentclass[12pt, a4paper]{article}
\usepackage{enumitem}
\usepackage{ulem} 

\begin{document}

\begin{enumerate}[label = \dashuline{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}

\end{document}

附加信息
感谢 Christan 的回答,甚至用 下划线也TikZ不再是问题。在我的例子中,我将使用 TikZ(而不是ulem),它可以轻松修改下划线的样式(如本文中提到的那样:https://tex.stackexchange.com/a/27260/101831)。

\documentclass[12pt, a4paper]{article}
\usepackage{enumitem}
\usepackage{ulem}

\usepackage{tikz}

\newcommand{\udot}[1]{
    \tikz[baseline=(todotted.base)]{
        \node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
        \draw[dotted] (todotted.south west) -- (todotted.south east);
    }
}

\begin{document}

\begin{enumerate}[label =\protect\udot{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}

\end{document}

答案1

您需要这样做\protect \dashuline,仅此而已。但是,我怀疑这种排版风格 ;-)(有些是正确的\dotuline)。

与之相反,\uline没有\dashuline强大的命令,即它很脆弱。

其他方式:使用\robustify{\dashuline}(需要etoolbox包),\protect则不需要。

\documentclass[12pt, a4paper]{article}

\usepackage{enumitem}
\usepackage{ulem} 

\begin{document}

\begin{enumerate}[label = \uline{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}

\begin{enumerate}[label = \protect\dashuline{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}
\begin{enumerate}[label=\protect\dotuline{\textit{Step \arabic*:}}]
\item First item.
\item Second item
\item A third item
\end{enumerate}


\end{document}

在此处输入图片描述

相关内容