写出长而常见的表达的快捷方式?

写出长而常见的表达的快捷方式?

我正在写一篇天文学论文,其中有一些符号和变量在论文中很常见。每次都把它们写出来很麻烦。有没有办法为它们创建某种快捷方式?注意,大多数都是数学模式。

例如:
对数(嗨)

$\log(\textrm{H}\textsc{i})$

对数(SFR/M*)

$\log(\textrm{SFR} / \textrm{M}_{\odot})$

答案1

创建提供常用字符串快捷方式的宏是个好主意。有关 LaTeX\newcommand指令用法的入门级介绍,请参阅指南的第 6 章“自定义 LaTeX”LATEX2e 的简短介绍

例如,你可以发出指令

\newcommand\loghi{\log(\mathrm{H}\textsc{i})}
\newcommand\sfrm{\log(\mathrm{SFR} / \mathrm{M}_{\odot})}

在序言中,以及随后的正文中,写一些类似

bleet bleet $\loghi=\sfrm$ more bleet bleet

正如您在评论中指出的那样,如果这些宏也可以用于大胆的周围环境,例如节标题。具体来说,给定上述 的定义\loghi,LaTeX 将尝试将字母排版i为粗体小写字母。正如您所发现的,如果您使用的字体系列不包含粗体小写字母,则字母将设置为“普通”粗体,即。这不是想要的效果吧?!

该怎么办?我认为您(至少)有两个选择。第一个是使用具有粗体小写字体的字体系列。两个这样的系列是newt xtext/newtxmathnewpxtext/ newpxmath。前者提供“Times Roman”外观,后者提供“Palatino”外观。这可能(或可能不...)对您来说可以接受。

其次,您可以设置宏,使其\loghi定义不会尝试使用(可能不存在的)粗体小写字母字形。例如,

\newcommand\loghi{\log(\mathrm{H}\textsc{\mdseries i})}

\mdseries(请注意在 的参数中添加\textsc)指示 LaTeX 应用于\textsc的“中等粗细”(而不是“粗体粗细”)版本i。只要中等粗细字体具有小型大写字母字形,您就一定会成功。

答案2

我会把这个问题分成两部分。首先定义基本符号,然后用它们来表达:

\documentclass{article}
\usepackage{amsmath}

%% first the symbols
\newcommand{\Hi}{\textnormal{H\kern-.1em\textsc{i}}}
\newcommand{\SFR}{\mathrm{SFR}}
\newcommand{\Mo}{\mathrm{M}_{\odot}}
%% then common expressions
\newcommand{\lHi}{\log\Hi}
\newcommand{\lsfrmo}{\log(\SFR/\Mo)}

\begin{document}
\begin{gather*}
\log\Hi + \log(\SFR/\Mo)\\
\lHi+\lsfrmo
\end{gather*}
\end{document}

我添加了一些定义,\Hi只是为了展示如何重新定义基本符号,而不需要修改根据它定义的表达式的定义。

使用 ,\textnormal{...}我们确保字体将是“初始”字体,与上下文无关。这对于 是必需的\Hi,但对于 不是\SFR;由于\mathrm比 更高效\textnormal,因此在可能的情况下最好使用它。

在此处输入图片描述

相关内容