長くてよく使われる表現を書き出すためのショートカットはありますか?

長くてよく使われる表現を書き出すためのショートカットはありますか?

私は天文学の論文を書いていますが、論文全体で共通する記号や変数がいくつかあります。毎回書き出すのが面倒になってきました。これらにショートカットのようなものを作成する方法はありますか? ほとんどが数式モードになっていることに注意してください。

例えば:
ログ(こんにちは)

$\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。ご存知のとおり、使用しているフォント ファミリに太字小文字フォントが含まれていない場合、文字は「通常の」太字、つまり次のように設定されます。. 望んでいた効果ではないですよね?

何をすべきでしょうか? 少なくとも 2 つの選択肢があると思います。1 つ目は、太字のスモールキャップ フォントを備えたフォント ファミリを使用することです。そのような 2 つのファミリは、newt xtext/newtxmathnewpxtext/ですnewpxmath。前者は「Times Roman」の外観を提供し、後者は「Palatino」の外観を提供します。これは、あなたにとって受け入れられるかもしれません (または受け入れられないかもしれません...)。

\loghi2番目に、 (おそらく存在しない)太字の小文字グリフを使わないように定義するマクロを設定することができます。たとえば、

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

\mdseries(の引数に が追加されていることに注意してください\textsc)は\textsc、 の「中程度の太さ」(「太字」ではなく) バージョンを適用するように LaTeX に指示しますi。中程度の太さのフォントにスモールキャップのグリフが含まれている限り、成功が保証されます。

答え2

私は問題を 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、使用できる場合は の方が望ましいです。

ここに画像の説明を入力してください

関連情報