有人能解释一下为什么 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}