双列模板中长单词的连字符

双列模板中长单词的连字符

我想控制 Latex 如何对长单词进行连字符连接。在我的示例中,它尝试对段落进行右对齐,但这样做会产生很大的空格。我该如何消除这个空格? 在此处输入图片描述

答案1

将坐标数据视为 URL,并定义您自己的断点。我在 MWE 中使用数字作为断点。我在换行时不添加连字符,但包允许该选项。已编辑以显示带和不带前导缩进。

\documentclass{article}
\usepackage[obeyspaces,spaces]{url}
\urlstyle{rm}
\def\UrlBreaks{\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0}
\textwidth3.34in
\parskip 1ex
\begin{document}
Camera (CTS)\url{(ID's: F02_036554_2172_XN_37N337W, G06_020704_2191_XI_39N336W, 
P17_007861_2192_XN_39N338W, P17_007716_2203_XN40N339W)} downloaded

\noindent Camera (CTS)\url{(ID's: F02_036554_2172_XN_37N337W, G06_020704_2191_XI_39N336W, 
P17_007861_2192_XN_39N338W, P17_007716_2203_XN40N339W)} downloaded
\end{document}

在此处输入图片描述

答案2

如果你只是想告诉 latex 允许在某些位置使用连字符,你可以使用 \hyphenation 命令:

\hyphenation{
    F02_-036-554_-21-72_-XN_-37N-337W 
    G06_-020-704_-21-91_-XI_-39N-336W 
    P17_-007-861_-21-92_-XN_-39N-338W 
    P17_-007-716_-22-03_-XN4-0N3-39W
}

我的上述选择有点随意;您需要决定哪里可以接受连字符。

此外,您可能希望鼓励 latex 更频繁地使用连字符。您可以使用 \hyphenpenalty、\pretolerance、\tolerance 和 \emergencystretch 来控制这一点,尽管许多人认为这是一种“黑魔法”,而我对此并不十分了解,无法提供太多帮助。将 \pretolerance 设置为 -1 将跳过对齐的第一步(试图避免连字符)并直接跳到连字符阶段。但是,大多数人似乎更喜欢减少 \hyphenpenalty 并增加 \tolerance(但您需要将 \hbadness 增加到等于 \hypenpenalty - 1,否则您会看到很多未满的水平框警告)

值得考虑的是,人们是否会对添加的连字符感到困惑(它们是身份证号码的一部分吗?),在这种情况下,@Steven 的答案是一个更好的解决方案。

相关内容