我定义以下命令
\def\R{\mathbb{R}}
\def\Rd{\R^d}
\def\Rn{\R^n}
是否可以使用条件将这三个命令合并为一个?
作为示例,我想\Rx
输出\R^x
。
答案1
这是使用一些语法糖来实现的一种方法
\documentclass{article}
\usepackage{amssymb}
\def\tmp#1{\ifx\relax#1\else
\expandafter\newcommand\csname R#1\endcsname{\mathbb R^{#1}}%
\expandafter\tmp \fi}
\tmp dnx%<- more letters go here
\relax
\begin{document}
$\Rd \Rx \Rn$
\end{document}
答案2
喜欢这个吗?如果这不是你想要的,请告诉我,我会更新答案。
\R<>
我认为定义没有分隔符(例如{}
或 )的命令并不容易[]
。下面的方法更简单。如果您确实需要\Rx
而不是\R{x}
,我们也许可以使用循环来定义所有这些命令。
\documentclass{article}
\RequirePackage{xparse}
\RequirePackage{amssymb}
\NewDocumentCommand\R{m}
{ \ensuremath{\mathbb{R}^{#1}} }
\begin{document}
\R{x}
\end{document}