而不是为每个字母制作宏,如
\def\bA{\mathbf{A}}
...
\def\bZ{\mathbf{Z}}
Run Code Online (Sandbox Code Playgroud)
有没有办法循环一个字符类(如大写字母)并为每个字符生成宏?我也想对希腊字母做同样的事情(使用bm而不是mathbf).
\def\mydefb#1{\expandafter\def\csname b#1\endcsname{\mathbf{#1}}}
\def\mydefallb#1{\ifx#1\mydefallb\else\mydefb#1\expandafter\mydefallb\fi}
\mydefallb ABCDEFGHIJKLMNOPQRSTUVWXYZ\mydefallb
Run Code Online (Sandbox Code Playgroud)
希腊语的新内容
\def\mydefgreek#1{\expandafter\def\csname b#1\endcsname{\text{\boldmath$\mathbf{\csname #1\endcsname}$}}}
\def\mydefallgreek#1{\ifx\mydefallgreek#1\else\mydefgreek{#1}%
\lowercase{\mydefgreek{#1}}\expandafter\mydefallgreek\fi}
\mydefallgreek {beta}{Gamma}{Delta}{epsilon}{etaex}{Theta}{Iota}{Lambda}{kappa}{mu}{nu}{Xi}{Pi}{rho}\mydefallgreek
$\bGamma\bDelta \bTheta \bLambda \bXi \bPi $
$\bbeta \bgamma\bdelta \bepsilon \betaex \btheta \biota \blambda \bkappa \bmu \bnu \bxi \bpi \brho$
Run Code Online (Sandbox Code Playgroud)
小智 6
扩展安德鲁的答案,这是一个没有的解决方案\expandafter:
\makeatletter
\@tempcnta=\@ne
\def\@nameedef#1{\expandafter\edef\csname #1\endcsname}
\loop\ifnum\@tempcnta<27
\@nameedef{b\@Alph\@tempcnta}{\noexpand\mathbb{\@Alph\@tempcnta}}
\advance\@tempcnta\@ne
\repeat
Run Code Online (Sandbox Code Playgroud)
这将定义\bA,\bB等等,以扩展为\mathbb{A},\mathbb{B}等等.
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |