我不断遇到过满的问题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=2
egreg 的解决方案之外,还应该可以解决您的问题。