定义宏来输出希腊符号

定义宏来输出希腊符号

我正在写一份文件很多希腊字母组合,如$2x^2$。我厌倦了\gamma^{\mu}每次都要输入或类似的东西。我想定义一个能产生相同结果的宏。如果我想让上标加粗,我会使用:

\newcommand{g}[1]{\gamma^{\textbf{#1}}}

产生在此处输入图片描述。显然,我希望上标是希腊字母,但是:

\newcommand{g}[1]{\gamma^{\#1}}

不起作用。正确的语法是什么?

答案1

\textbf不适用于数学模式,因此要么没用,不执行任何操作,要么只打印另一个字符。

\mathbf仅适用于拉丁字母和数字,不适用于其他数学符号。一种方法是使用\boldsymbolfrom amsmath

请不要使用\newcommand{\g}{...}(已更正缺失\)——使用“好听的”缩写,例如\gamsup,代表\gamma superscript

在此处输入图片描述

总的来说,使用粗体上标在印刷上可能会引起疑问……

\documentclass{article}

\usepackage{amsmath}

\newcommand{\gamsup}[1]{\gamma^{\boldsymbol{#1}}}

\begin{document}


$\gamsup{\mu}$

\end{document}

对于懒人来说...

用作\boldsymbol{\csname#1\endcsname}上标,即使宏名不存在也会起作用 -\gamma只有那时才会显示。

\documentclass{article}

\usepackage{amsmath}

\newcommand{\gamsup}[1]{\gamma^{\boldsymbol{\csname#1\endcsname}}}

\begin{document}


$\gamsup{mu}$

\end{document}

答案2

您想要类似的语法\g{\mu}

至于获取所需的符号,在中unicode-math,您可以使用任何数学字母(例如\symbfup\symbfit\mathbf)或包定义的宏。

如果您需要可在 PDFLaTeX 上运行的代码,该isomath软件包提供了全面的数学字母选择,包括不同样式的希腊字母,并具有标准化界面。除了粗体直立字母外,它还添加了新的粗体斜体、无衬线和无衬线粗体数学字母,所有这些字母都支持希腊语。直立粗体数学字母最兼容的命令是\mathbold{\mu}。但是,请注意,很少有传统的数学字体带有不倾斜的粗体希腊字母,其中一些,如 AMS Euler 和 Fourier,使用非标准编码。

您还可以在 LGR 编码中使用任何传统的希腊文本字体mathastext

相关内容