文本中数学的正确使用

文本中数学的正确使用

在数学模式中很容易找到如何正确嵌入文本的方法,但反过来却很难。这让我觉得,我的问题有点奇怪,或者没人把它当成问题。

我在方程式中使用了许多符号,在文本中也是如此。这就是为什么我创建了带有新命令的单独文件,例如:

\newcommand{\sabc}{A_{\mathrm{b}}^c}
\newcommand{\mabc}{$\sabc$}

以 开头的命令\s用于方程式,\m's 用于文本中,仅用于获取数学符号。我的问题始于第二个命令。当在文本中使用时,例如\mabc xyz我的符号和 xyz 文本之间没有空格。可以这样解决:

\newcommand{\mabc}{$\sabc$~}

但是,如果使用逗号或点(例如\mabc, xyz),符号和逗号之间就会出现不必要的空格。是的,~每次需要时我都可以使用字符,但是有没有办法\mabs像我想要的那样处理命令后的正常空格?

PS 我也尝试过使用它\ensuremath来简化我的命令(用一个命令而不是两个),但最终得到的结果相同。


我的序言:

\documentclass[twoside,titlepage]{article}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,inner=3.5cm,outer=2.0cm,top=2.0cm,bottom=2.0cm]{geometry}

\usepackage{fancyhdr}
\usepackage{multicol}
\usepackage[titletoc,title]{appendix}
\usepackage{enumitem}
\usepackage[table]{xcolor}
\usepackage{tabulary}
\usepackage{multirow}
\usepackage[fleqn]{mathtools}
\usepackage{relsize}
\usepackage[%
    % font=small,
    labelfont=bf,
    % tableposition=top
    ]{caption}
\usepackage{subcaption}
\input{commands}        % that's my file with additional commands, as described above

答案1

在我看来,使用两个不同的命令不会给你带来任何好处:只需说

This is some text with \(\sabc\) and a formula \(\sabc+x\).

如果你想节省一些击键,请使用

This is some text with $\sabc$ and a formula $\sabc+x$.

数学应该总是数学。使用两个命令,您几乎肯定会使用错误的命令,并且编辑会很痛苦。

另一种方法可能是

\usepackage{xspace}
\newcommand{\sabc}{\ensuremath{A_{\mathrm{b}}^c}\xspace}

在文本和数学中都使用\sabc。但是使用前一种方法,您将获得正确的语法突出显示的好处(如果您的编辑器可以做到这一点)。

答案2

在我看来,您提到的最大问题是:

我的符号和 xyz 文本之间没有空格

当您输入 时\mabc xyz

问题是,当 LaTeX 解析文本并找到宏时\mabc,它会按照惯例忽略尾随空格。为了防止这种情况,您必须提供左括号和右括号,如下所示,以便不会忽略尾随空格:

\mabc{} xyz

相关内容