如何在 LaTeX 中以编程方式将希腊符号转换为小写?

如何在 LaTeX 中以编程方式将希腊符号转换为小写?

一个简单的任务:我需要一个用户定义的命令\greeklower,它接受数学模式识别的任何希腊字符并返回该字符的小写版本。

理想情况下,命令语法应为,例如,\greeklower{\Phi}\greeklower{\phi}都扩展为\phi\greeklower{\Gamma}以及\greeklower{\gamma}都扩展为\gamma,等等。

但是,语法\greeklower{Phi},\greeklower{phi}也是可以接受的。

我尝试了以下操作:

\lowercase{\Gamma}: 什么也没做

\MakeLowercase{\Gamma}: 什么也没做

\newcommand {\greeklower} [1] {\expandafter\csname\lowercase{#1}\endcsname}:“错误:缺少 \endcsname”

\newcommand {\greeklower} [1] {\expandafter\csname\MakeLowercase{#1}\endcsname}:“错误:缺少 \endcsname”

\edef\elower#1{\lowercase{#1}}
\newcommand {\greeklower} [1] {\expandafter\csname\elower{#1}\endcsname}

“错误:缺少 \endcsname”

\edef\elower#1{\MakeLowercase{#1}}
\newcommand {\greeklower} [1] {\expandafter\csname\elower{#1}\endcsname}

“错误:超出 TeX 容量”

因此 TeX 再次打败了我。:(

梅威瑟:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\newcommand {\greeklower} [1] { -make Greek symbol lowercase- }

\begin{document}
This is a $\gamma$ tensor: $\boldsymbol{\greeklower{\Gamma}}$.

This is also a $\gamma$ tensor: $\boldsymbol{\greeklower{\gamma}}$.
\end{document}

答案1

重新定义本地大写希腊字母变为小写字母。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\newcommand{\LowerGreek}[1]{\begingroup
\let\Gamma\gamma
\let\Delta\delta
\let\VarTheta\vartheta
\let\Lambda\lamda
\let\Theta\theta
\let\Pi\pi
\let\Sigma\sigma
\let\Upsilon\upsilon
\let\Phi\phi
\let\Psi\psi
\let\Omega\omega
#1
\endgroup}

\begin{document}
This is a $\gamma$ tensor: $\boldsymbol{\LowerGreek{\Gamma}}$ but $\Gamma$ still
works.

This is also a $\gamma$ tensor: $\boldsymbol{\LowerGreek{\gamma}}$.
\end{document}

在此处输入图片描述

相关内容