数学数字列表(以及方程式外的数学数字)的数学环境

数学数字列表(以及方程式外的数学数字)的数学环境

我已经看到了三个与在方程式之外的文本中的数字/数学数字周围使用 $ 有关的问题:何时使用数学模式?数学环境之外的数字; 和数字周围为什么需要 $...$?

我在一个段落中有以下表达式,并且我希望如果我更改字体,可以避免数字出现不同的字形:

contour levels at ($-2$, 2, 4, 8, 16 and~32)~$\times$~0.348$\sigma$

是否建议使用以下任何一种方法来实现这一点(并确保如果跨越两行,则会在之前发生断行and)?

($-2$, $2$, $4$, $8$, $16$ and~$32$)~$\times$~$0.384\sigma$

($-2$, $2$, $4$, $8$, $16$ and~$32$)~$\times~0.384\sigma$

$(-2, 2, 4, 8, 16$ and~$32) \times 0.384\sigma$

或者可能\text{}按照 marmot 的建议使用:

$(-2, 2, 4, 8, 16\text{ and }32) \times 0.384$

答案1

使用xparseexpl3您可以获得更简单的输入语法。

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand{\numlist}{mo}
 {
  \seq_set_from_clist:Nn \l_jacinta_numlist_in_seq { #1 }
  \seq_set_map:NNn \l_jacinta_numlist_out_seq \l_jacinta_numlist_in_seq { $##1$ }
  \IfValueT{#2}{ $($ }
  \seq_use:Nnnn \l_jacinta_numlist_out_seq
   { ~ and \nobreakspace } % two items
   { ,~ }                  % between items
   { ~ and \nobreakspace } % last two
  \IfValueT{#2}{ $)#2$ }
 }
\seq_new:N \l_jacinta_numlist_in_seq
\seq_new:N \l_jacinta_numlist_out_seq
\ExplSyntaxOff

\begin{document}

Contour levels at \numlist{-2, 2, 4, 8, 16, 32}[\times0.348\sigma].

Contour levels at \numlist{-2, 2, 4, 8, 16, 32}.

Contour levels at \numlist{-2, 2}[\times0.348\sigma].

\end{document}

在此处输入图片描述

答案2

(感谢您在评论中提供有关代码片段的预期用途和含义的一些附加信息。)

由于你谈论的是五个不同的轮廓线,它们(从逻辑上讲)不是同一个“公式”的一部分。因此,我会说

($-2$, $2$, $4$, $8$, $16$ and~$32$)\hspace{0pt}${}\times0.384\sigma$

在此处输入图片描述

是最合适的形式。(可以随意添加“牛津逗号”。)这让 TeX 在括号结构中的数字之间插入普通的单词间空格,允许在右括号后换行,并且如果\times没有换行,它会在符号周围提供适当的间距。

相关内容