彩色下划线,不影响默认的 LaTeX 样式

彩色下划线,不影响默认的 LaTeX 样式

我想要一条彩色线。我尝试了以下方法:

\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}

代码输出

相关内容