这是我的代码:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{a4paper}
\usepackage{amsmath}
\usepackage[frenchb]{babel}
\begin{document}
Number $2-a$:
\begin{align*}
Z &\longleftarrow \Phi(x,x) \\
Y &\longleftarrow Y +1
\end{align*}
Number $2-b$:
\begin{align*}
IF x &\in A GOTO E\\
Z &\longleftarrow \Phi(x,x) \\
Y &\longleftarrow Y +1
\end{align*}
\end{document}
它看起来像这样(问题在于红圈中的线):
我应该怎么做才能使这一行看起来像这样,使其看起来更像单词分开的手写体:
答案1
在数学模式下,空格会被忽略。(align
以及align*
等equation
会自动切换到数学模式。)只需测试$a b$
:输出中没有空格即可。如果您想在数学模式下有空格,可以使用显式空格(例如\␣
(斜线空格)或\hspace{1em}
),但要获得正确的字距调整和罗马字体而不是斜体格式,您应该切换到文本模式,即
\text{IF }x&\in\text{A GOTO E}
该\text
命令由数学无论如何,您已经加载了该包。在A
和GOTO
之间只有一个常规空格,如果需要更多空格\hspace{1em}
(在文本模式下!)可以在那里使用。
答案2
使用
\text{IF }x &\in\text{ A GOTO E}\\
数学模式下的空格没有效果。
答案3
在数学模式下,文本的每个元素都被视为变量,并以此方式排版:具体来说,就此而言,变量不应形成“单词”,这就是文本引擎不会显示空格的原因。但是,可以“在数学模式下像非数学模式一样”打印文本,但您必须告诉 latex 应将该内容视为文本。
您可以使用各种命令:
\mathrm
,,\mathbf
等等(对于数学文本,例如函数名称:这也不会提供正确的间距!)\text
来自amsmath
包(对于随意的文本,将使用外部环境的字体)\textrm
,,\textbf
等等(如果您需要特定的字体格式——与数学等效的区别在于您可以在其中使用重音字符或内联数学)
在您的示例中,这是有效的,例如:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{a4paper}
\usepackage{amsmath}
\begin{document}
Number $2-a$:
\begin{align*}
Z &\longleftarrow \Phi(x,x) \\
Y &\longleftarrow Y +1
\end{align*}
Number $2-b$:
\begin{align*}
\mathbf{IF } x &\in A \mathbf{ GOTO } E\\
Z &\longleftarrow \Phi(x,x) \\
Y &\longleftarrow Y +1
\end{align*}
\end{document}
请注意,正如我上面所说,空格在数学显示中基本上会被忽略。因此,如果您希望将空格考虑在内,并将文本与句子的其余部分分开,则需要确保空格与文本一起位于括号内。