不使用“~”时科学单位前不换行

不使用“~”时科学单位前不换行

是否可以定义一个单位列表(如 ml、°C、nmol、eq. 等)并禁止 latex 在这些单位前插入换行符?

我知道可以在数字和单位之间使用 ~,但上面描述的方法对我来说更方便。

谢谢你的帮助!

编辑:感谢所有评论和回答,但也许我应该解释一下我寻找类似内容的原因:我有一个非常大的文档(尚未用 latex 编写),并尝试使用 latex 对其进行格式化。因此,编辑每个值和单位以适应语法会非常耗时siunitx。与来自的答案存在同样的问题史蒂文·B·塞格莱特斯

答案1

如果你想要最低限度的加价,你可以siunitx使用

\documentclass{article}
\usepackage{xspace}
\usepackage{siunitx}
\sisetup{free-standing-units, space-before-unit, use-xspace}
\begin{document}

10\metre or even 10\m (a bit risky)

\end{document}

或者

\documentclass{article}
\usepackage{siunitx}
\sisetup{free-standing-units, unit-optional-argument}
\begin{document}

\metre[10] or even \m[10] (a bit risky)

\end{document}

或者你可以使用旧unitsdef

\documentclass{article}
\usepackage{unitsdef}
\begin{document}

10\meter or \meter[10].

\end{document}

(请注意,siunitx“独立”单位的语法部分基于unitsdef。)如评论和我应该使用什么包来排版单位?,‘首选’语法siunitx

\documentclass{article}
\usepackage{siunitx}
\begin{document}

\SI{10}{\metre} or even \SI{10}{\m}.

\end{document}

因为这不仅提供了更合乎逻辑的标记,而且对结果的控制也更具程序性。在任何情况下siunitx,空间都是可调整的通过一个密钥,除非改变相应的设置,否则不会损坏。

答案2

如果选择不使用专siunitx为处理单位而设计的包,则可以定义\myunit{}实现避免在单位之前出现此类中断的目标。

\documentclass{article}
\def\myunit#1{\unskip\,\textrm{#1}}
\begin{document}
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
8 \myunit{ml}\ or $\pi \myunit{$^\circ$C}$.
\end{document}

在此处输入图片描述

答案3

你是指那样的事情吗?

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage{siunitx}
\usepackage[inline]{enumitem}
\DeclareSIUnit{\Fahrenheit}{\degree\,F}
\DeclareSIUnit{\drachm}{dr\,av}
\DeclareSIUnit{\oz}{oz\,av}
\DeclareSIUnit{\yard}{yd}
\sisetup{per-mode=symbol}

\begin{document}

Here is a list of some typical non SI units:
\begin{itemize*}[itemjoin=\hskip0.8em, afterlabel=\hskip0.25em, before=\quad]
  \item \si{\celsius}
  \item \si{\Fahrenheit}
  \item \si{\decibel}
  \item \si{\drachm}
  \item \si{\drachm\per\yard\squared}
\end{itemize*}


\end{document} 

在此处输入图片描述

相关内容