使用文本颜色时枚举时没有换行符

使用文本颜色时枚举时没有换行符

有人能解释一下为什么 LaTeX 没有插入换行符吗?

\documentclass{article}
\usepackage{xcolor}
\begin{document}
\sffamily
\textcolor{red}{webServiceURL}/\textcolor{red}{version}/devices/\textcolor{red}{deviceLibraryIdentifier}/registrations/\textcolor{red}{passTypeIdentifier}?passesUpdatedSince=\textcolor{red}{tag}
\end{document}

在此处输入图片描述

用 替换所有实例/似乎\slash没有什么区别。

答案1

您遇到的问题与此无关,本身,而不是使用\textcolor。相反,这是由于输入行不包含空格但包含大量非标准单词,导致 TeX 不知何故偏离轨道并产生大量溢出的行。

解决办法是,加载xurl包并将最接近换行符的子字符串(此处为:passTypeIdentifier)包装在\url包装器中。

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor,xurl}
\urlstyle{same}

\setlength\parindent{0pt} % just for this example
\renewcommand\familydefault\sfdefault % just for this example
\begin{document}

\textcolor{blue}{bad}

\textcolor{red}{webServiceURL}/\textcolor{red}{version}/devices/\textcolor{red}{deviceLibraryIdentifier}/registrations/\textcolor{red}{passTypeIdentifier}?passesUpdatedSince=\textcolor{red}{tag}

\medskip
\textcolor{blue}{good}

\textcolor{red}{webServiceURL}/\textcolor{red}{version}/devices/\textcolor{red}{deviceLibraryIdentifier}/registrations/\textcolor{red}{\url{passTypeIdentifier}}?passesUpdatedSince=\textcolor{red}{tag}
\end{document}

相关内容