![如何强制将“(near-)uniform”正确连字符为“(near-)”+“uniform”,而不是“(near-”+“)uniform”?](https://linux22.com/image/250447/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E5%B0%86%E2%80%9C(near-)uniform%E2%80%9D%E6%AD%A3%E7%A1%AE%E8%BF%9E%E5%AD%97%E7%AC%A6%E4%B8%BA%E2%80%9C(near-)%E2%80%9D%2B%E2%80%9Cuniform%E2%80%9D%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E2%80%9C(near-%E2%80%9D%2B%E2%80%9C)uniform%E2%80%9D%EF%BC%9F.png)
如何强制使用(near-)uniform
as(near-)
uniform
而不是进行正确连字(near-
)uniform
?
答案1
您可以使用\discretionary
。它需要三个参数:
\discretionary{at line end}{at next line begin}{if not hyphened}
在你的情况下,所有参数都必须为空。我建议为此定义一个新命令,如下所示。
\documentclass{article}
\newcommand{\myhyph}{\discretionary{}{}{}}
\begin{document}
\begin{minipage}{1.5cm}
(near-)\myhyph uniform
\end{minipage}
\end{document}
在此示例中,仅用于{minipage}
获得窄线。
和
\newcommand{\nbhyph}{\mbox{-}}
您还可以定义不可断开的连字符:
(near\nbhyph)\myhyph uniform
我确信可以使用活动字符来使宏更短。
请注意,babel
with(n)german
定义了几种用于连字符的简写形式。请参阅第 81 页的手册。
您可以在新的宏中扭曲它以获得短暂的访问:
[更新:正如 egreg 所说,定义可能更容易\newcommand{\sh}[1]{(#1\mbox{-})\discretionary{}{}{}}
。我修改了它]
\documentclass{article}
\newcommand{\sh}[1]{% s = special, h = hyphen ...
(#1\mbox{-})\discretionary{}{}{}%
}
\begin{document}
\begin{minipage}{1cm}
\sh{near}uniform
\end{minipage}
\end{document}
答案2
您可以使用德语简写:
\documentclass{article}
\usepackage[ngerman,english]{babel}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}
\begin{document}
\begin{minipage}{1.5cm}
(near"~)""uniform
\end{minipage}
\end{document}