定义自定义命令来分解带有特殊字符的长单词

定义自定义命令来分解带有特殊字符的长单词

我想在 2 列acmart模板中将一个长单词换到下一行。这个单词是Sample_Super.Very.Uber.Long.Word。以下是 Overleaf 上的示例:

\documentclass[sigconf]{acmart}
\usepackage[utf8]{inputenc}

\title{test}

\begin{document}

\maketitle

\section{Introduction}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sample_Super.Very.Uber.Long.Word Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\end{document}

我曾尝试过:

  • 使用\hyphenation{Sample_Super-.Very-.Uber-.Long-.Word},但这很乏味,因为我有很多不同的长单词。
  • \path命令,但是这会改变单词的字体并在其周围添加一些空间。
  • \url命令可以根据我的需要换行而不改变字体,但是,它会创建一个超链接,有时会在单词周围显示一个蓝色框。
  • 我已经阅读网址包来创建自定义命令,但还没有弄清楚如何操作。

如何使用url包定义命令?或者如何在\path不更改字体或添加空格的情况下实现相同的行为?

答案1

如果我理解你的目的正确的话,你实际上并不是想连字符一个长单词。相反,您只是想在该单词中创建一个合适的换行符。这种解释正确吗?

我建议你 (a) 加载xurl允许在 参数中任意换行的包\url,以及 (b) 使用\nolinkurl而不是\url。需要进行此更改以确保准 URL 字符串不会变成超链接。

完整的 MWE (最小工作示例):

\documentclass[sigconf]{acmart}
\usepackage[utf8]{inputenc}
\usepackage{xurl} % <-- new

\title{test}

\begin{document}
\maketitle

\section{Introduction}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor 
incididunt dolore magna aliqua. \nolinkurl{Sample_Super.Very.Uber.Long.Word} 
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut 
aliquip ex ea commodo consequat. 
\end{document}

附录:这是此 MWE 生成的左侧列的屏幕截图。我用\url黄色突出显示了该指令的输出。附言:我使用 MacTeX2019,并使用 pdfLaTeX 编译了测试文档。我使用LaTeX2e <2019-10-01> patch level 3acmart 2020/01/11 v1.67文档类。

在此处输入图片描述

相关内容