
Я использовал
\def\H{\bm{H}}
для определения жирных букв в математическом режиме. Есть ли способ определить общее правило длялюбойбуквы? Например, я хочу правило, которое позволяет
\*anyletters*{\bm{*anyletter}*
% For example \I -> \bm{I} etc....
решение1
Следующий код определяет, \bmA
что он будет \bm{A}
работать A
со всеми буквами алфавита. Пожалуйста, не используйте макросы с одной буквой, так как они, как правило, имеют особое значение (акценты, специальные символы).
\documentclass{article}
\usepackage{bm}
\makeatletter
\newcounter{letter}
\setcounter{letter}{1}
\@whilenum\value{letter}<27\do{% loop over all letters in the alphabet
% \def\bmA{\bm{A}}, where A runs over all letters
% Remove letters `bm' vv if you don't care about breaking LaTeX
\expandafter\edef\csname bm\Alph{letter}\endcsname{\noexpand\bm{\Alph{letter}}}
\expandafter\edef\csname bm\alph{letter}\endcsname{\noexpand\bm{\alph{letter}}}
\stepcounter{letter}%
}
\makeatother
\begin{document}
Hungarian umlaut \H{o}
Polish suppressed-L \L
Scandinavian O-with-slash \O
pilcrow \P
section symbol \S
$\bmA \bmZ \bma \bmz$
\end{document}