我想要一条彩色线。我尝试了以下方法:
\documentclass[11pt,english]{article}
\usepackage[T1]{fontenc}
\usepackage[parfill]{parskip}
\usepackage{color,soul}
\setulcolor{red}
\begin{document}
This word is underlined in black: \underline{Zukunft}\\
This word is underlined in red: \ul{Zukunft}
This word is underlined in black: \underline{Gelegenheit}\\
This word is underlined in red: \ul{Gelegenheit}
\end{document}
输出为:
可以看出,与黑色下划线的单词相比,红色下划线的单词“Zukunft”与下划线之间的垂直间距有所增加。然而,单词“Gelegenheit”并非如此。这是正常的吗?如果不是,如何在不影响默认 LaTeX 设置的情况下使用彩色下划线?
答案1
这是一个设计选择soul
:它根据字体中的所有字符设置固定的下划线深度,然后再考虑带有降部的字符(如gjpqy
)。
如果您将两个单词并排放置\underline
,则可以看到另一个方向的折衷,下划线本身不会对齐。(示例 1)从根本上说,这是一种美学选择。使用soul
下划线后,这些相邻单词的下划线是统一的(示例 2)。
soul
您可以使用命令更改下划线的深度,\setuldepth
以匹配没有降部的单词的高度,但之后您需要将其改回处理有降部的单词。(示例 3)。实现此目的的一种简单方法是定义一个宏,每次根据内容设置深度。(示例 4)。
\documentclass{article}
\usepackage{soul}
\usepackage{xcolor}
\usepackage{calc}
\newcommand{\myul}[1]{\setuldepth{#1}\ul{#1}}
\setulcolor{red}
\begin{document}
\begin{enumerate}
\item \underline{abcdef}\underline{gjpqy}
\item \ul{abcdef}\ul{gjpqy}
\item \setuldepth{abc}\ul{abcdef}\ul{gjpqy}
\item \myul{abcdef}\myul{gjpqy}
\end{enumerate}
\end{document}