寫出長而常見的表達式的捷徑?

寫出長而常見的表達式的捷徑?

我正在寫一篇天文學論文,並且有一些全文中常見的符號和變數。每次都把它們寫出來變得很麻煩。有沒有辦法為這些創建某種快捷方式?請注意,大多數都處於數學模式。

例如:
日誌(嗨)

$\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,因此在可以使用它時更可取。

在此輸入影像描述

相關內容