Problema com novo comando
Como estou tendo aulas de álgebra linear, muitas vezes preciso escrever M (mxn, K) e acho isso irritante.
Tentei definir um comando: \newcommand{\M}[3]{M(#1 \times #2, #3)}mas isso dá uma saída estranha:
Como posso resolver esse problema? desde já, obrigado
Respostas
Se você definir
\newcommand{\M}[3]{M(#1 \times #2, #3)}
então a sintaxe de entrada deve ser
\M{2}{2}{\mathbb{R}}
e não
\M{2,2,\mathbb{R}}
que de fato reproduz a saída estranha e, possivelmente, algumas mensagens de erro.
Exemplo:
\documentclass{article}
\usepackage{amsmath,amssymb}
\newcommand{\RR}{\mathbb{R}} % the reals
\newcommand{\M}[3]{M(#1\times #2,#3)}
\begin{document}
Good syntax \verb|\M{2}{2}{\RR}| yields $A\in\M{2}{2}{\RR}$
Bad syntax \verb|\M{2,2,\RR}| yields $A\in\M{2,2,\RR}$
\end{document}
Você consegue fazer a sintaxe, reconhecidamente mais fácil, funcionar? Sim.
\documentclass{article}
\usepackage{amsmath,amssymb}
%\usepackage{xparse}% not needed for LaTeX 2020-10-01 or later
\newcommand{\RR}{\mathbb{R}} % the reals
\NewDocumentCommand{\M}{>{\SplitArgument{2}{,}}m}{\MLONG#1}
\NewDocumentCommand{\MLONG}{mmm}{M(#1\times #2,#3)}
\begin{document}
Good new syntax \verb|\M{2,2,\RR}| yields $A\in\M{2,2,\RR}$
\end{document}
Onde está o segredo? O pré-processador \SplitArgument{2}{,}diz ao LaTeX para ler o argumento, que deve conter duas vírgulas, e passar #1como
{<a>}{<b>}{<c>}
quando o argumento é <a>,<b>,<c>. Portanto, podemos alimentar o argumento transformado \MLONGque lê três argumentos padrão.
Como disse a Campa, você deve sempre fornecer um MWE
Por enquanto, dê uma olhada em
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage{mathtools,amsfonts}
\newcommand{\M}[3]{\ensuremath{M(#1 \times #2, #3)}}
\begin{document}
\M{1}{2}{\mathbb{R}}
\end{document}
dando
como esperado.
Como as outras respostas identificaram, o problema era que você precisa escrever \M{2}{2}{R}para usar sua macro no documento.
É compreensível que você queira evitar escrever dessa forma, já que as chaves são difíceis de digitar. A egreg mostrou uma maneira de reduzir (mas não eliminar) as chaves com o LaTeX moderno.
Se você quiser usar uma sintaxe semelhante à forma como você escreveu no texto de sua pergunta, outra abordagem é a velha definição de estilo TeX
\def\M(#1x#2,#3){M(#1 \times #2, \mathbb{#3})}
Então você pode escrever \M(2x2,R)em seu documento.