调整 \mathrm 中的单词间距

调整 \mathrm 中的单词间距

我定义了以下命令:

\newcommand{\mymathrm}[1]{\operatorname{\mathrm{#1}}}

问题是$\mymathrm{A B}$给出了类似的结果AB,它没有排版A和之间的空格B

有没有什么办法我可以修改的定义,\mymathrm以便它能够排版空格,就像我写的一样\mymathrm{A\ B}

最后,如果命令自动一半A和之间的空间B

帖子使数学模式遵循空格似乎相关,但我不知道如何catcode在命令内部进行更改。

MWE(基于以下答案):

\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{palatino}

\begin{document}

\newcommand{\mymathrm}[1]{\operatorname{\textrm{\spaceskip.15em#1}}}
$\mymathrm{max sup}$

\renewcommand{\mymathrm}[1]{\operatorname{\mathrm{\spaceskip.15em#1}}}
$\mymathrm{max sup}$

\end{document}

答案1

您可以使用\textrm而不是\mathrm,以便更轻松地控制空间。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\newcommand{\mymathrm}[1]{\operatorname{\textrm{\spaceskip.15em#1}}}
\begin{document}

$\operatorname{max sup} x$

$\operatorname{\textrm{max sup}} x$

$\mymathrm{max sup} x$

\end{document}

在稍后添加的示例文档中,字体设置为有点令人惊讶的 palatino 文本和 computer modern math,因此和 之间存在很大的视觉差异\textrm\mathrm但是,您可以指定在 中使用 OT1 Computer modern roman \text

在此处输入图片描述

\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{palatino}

\begin{document}

\newcommand{\mymathrm}[1]{\operatorname{\text{\fontencoding{OT1}\fontfamily{cmr}\selectfont\spaceskip.15em#1}}}
$\mymathrm{max sup}$

\renewcommand{\mymathrm}[1]{\operatorname{\mathrm{\spaceskip.15em#1}}}
$\mymathrm{max sup}$

\end{document}

但是你可以考虑palatino

 \usepackage{newpxtext,newpxmath}

使用更现代的 palatino 克隆设置并匹配文本和数学字体。

相关内容