在内联数学中,如何将连字符视为连字符(而不是减号)?

在内联数学中,如何将连字符视为连字符(而不是减号)?

在内联数学中,如何将连字符视为连字符(而不是减号)?

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{parskip}
\renewcommand\familydefault\sfdefault
\usepackage[nominus]{mathastext}
\mathchardef\hy="2D %% https://tex.stackexchange.com/a/199504/187997
\begin{document}
\begin{enumerate}
\item $Hyphenated-text-string$

\item $Hyphenated\hy{}text\hy{}string$
\end{enumerate}
\end{document}

带连字符的文本字符串

项目 1 将连字符视为减号,并用带有额外空格的短破折号替换连字符。

第 2 项通过调整这一点实现了我的需要回答

我使用内联数学与Bmatrix*, bmatrix*, vmatrix*(用于堆叠和对齐)、左括号和右括号来表达语法[元语言]柯博如果可能的话,我宁愿不必在数百个地方更改连字符,特别是因为减号在整个语言的语法中很少使用。

我原本希望这[nominus]能达到我想要的效果,但似乎没有效果。而且[noendash]留下了不必要的空白。

日志显示:

Package: mathastext 2019/11/16 v1.3w Use the text font in math mode (JFB)

建议的解决方案数学模式中的连字符虽然很接近,但涉及在数学字体样式内包装连字符文本,而使用时mathastext,我不需要这样做。

如果没有办法重新配置mathastext,一个解决方案(如果可能)是将识别为减号的字符更改为对我来说不会在数学模式中使用的字符,例如脱字符^或感叹号!


虽然评论中给出的答案有效,但需要注意的是,如果没有,[nominus]每个连字符都会更改为短破折号;因此,必须一起使用这两个语句(如下所示),以防止连字符被更改。

\usepackage[nominus]{mathastext}
\DeclareMathSymbol{-}{\mathalpha}{operators}{`-}

答案1

如果你想连字符文本字符串要显示为斜体文本,请使用\mathit{hyphenated-text-string},或者\textnormal{\itshape hyphenated-text-string}如果您\mathit设置了非所需字体。

如果您想要直立字母,请使用\mathrm\textnormal。您还可以插入其他文本模式命令,例如\textnormal{\scshape hyphenated-text}小型大写字母。

请注意,这\textnormal可防止周围文本的格式渗透到数学模式中,但在某些情况下,您可能需要这样做:例如,如果您在标题中使用表达式,您可能希望匹配周围文本的格式。如果是这样,请改用\textfrom amsmath

相关内容