使用 `and/or` + babel 进行换行

使用 `and/or` + babel 进行换行

我不断遇到过满的问题hboxes,因为有时我会and/or在论文中写下这句话:

设计和实施生物反馈系统,以警告患者和/或医疗保健提供者他们当前的跌倒风险指数。

我知道你可以设定单词提供商\hyphenation{pro-vid-ers}通过使用并继续,可以正确使用连字符,但我希望这是自动完成的babel(因为它几乎可以自动完成其他所有操作)。我猜是该and/or部分干扰了它的换行功能。

因此,为了安全起见:排版的正确方法是什么and/or?应该是吗?and or或者 LaTeX 有什么特定的方法来处理这个问题?

更新

梅威瑟:

\documentclass[a4paper,twoside,11pt,openright]{report}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}    
\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage[outer=25mm,inner=35mm,vmargin=20mm,includehead,includefoot,headheight=15pt,showframe]{geometry}
\usepackage{enumitem}    

\begin{document}

\begin{itemize}[itemsep=0pt,leftmargin=\parindent]
    \item To design and implement a biofeedback system for alerting patients and/or health care providers about their current fall risk index.
\end{itemize}

\end{document}

答案1

LaTeX 内核提供了\slash这种情况,因此

and\slash or

就是答案。但是,请避免使用这种丑陋且不必要的措辞。

的定义\slash

% latex.ltx, line 467:
\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-'

您遇到的问题(MWE 中已总结)与“and/or”的“连字符”无关。问题在于“provider”(以及“providers”)这个词不知何故不符合(美式)英语的连字符模式,因此 TeX 无法对其进行连字符处理。

它甚至不在 CTAN 和 TeX 发行版中存储的连字例外列表中ushyphex.tex。因此,您必须在文档序言中手动为其添加连字:

\hyphenation{pro-vid-er pro-vid-ers}

根据 Merriam-Webster 的说法是正确的。

如何找到这些信息?如果你编译文档并查看文件log,你会发现

Overfull \hbox (3.02989pt too wide) in paragraph at lines 14--16
[]\T1/ptm/m/n/10.95 To de-sign and im-ple-ment a biofeed-back sys-tem for alert
-ing pa-tients and/or health care providers

这些Overfull \hbox消息总是显示 TeX 能够为有问题的行中的单词找到的连字点,因此“提供者”的困难是不言而喻的。

对于技术/科学文档,建议加载美国英语连字符例外词典:

\input{ushyph}

在序言中就可以了。如果某些单词仍然有问题,请按照指示自行添加连字符例外。

答案2

您提到了另一点:英语通常翻译为\righthyphenmin=3“或”,因为“或”的长度小于 3。除了使用\righthyphenmin=2egreg 的解决方案之外,还应该可以解决您的问题。

相关内容