我想简化输入指标函数的方式。所以我使用了包bbm
并定义了\newcommand{\1}{\mathbbm{1}}
但我实际上想要类似的东西\mathbbm{1}_{XXX}=\newcommand{1}{XXX}
。这样在我输入完后\1
,我可以继续输入{XXX}
,然后出现的内容是\mathbbm{1}_{XXX}
。
答案1
只需\1
用参数定义:
\newcommand{\1}[1]{\mathbbm{1}_{#1}}
完整示例
\documentclass{article}
\usepackage{bbm}
\newcommand{\1}[1]{\mathbbm{1}_{#1}}
\begin{document}
$\1{x_1=x_2}$
\end{document}
另一方面,该包bbm
仅提供位图字体;您可以从中获取可扩展的 Type1 字体bbold
。
\documentclass{article}
\usepackage{amsmath}
\DeclareRobustCommand{\1}[1]{\text{\usefont{U}{bbold}{m}{n}1}_{#1}}
\begin{document}
$\1{x_1=x_2}$
\end{document}
我不推荐\usepackage{bbold}
,因为它会破坏(或)\mathbb
的字体。amssymb
amsfonts
让我们坚持下去\newcommand
。当你这样做时,你可以指定多个参数:
\newcommand{\foo}[2]{...}
意味着后面\foo
应该跟着两个支撑组,参数, 喜欢
\foo{Abc}{def}
并且在定义文本中,您引用了第一个括号组,并用#1
引用了第二个括号组#2
。在我们的例子中
\newcommand{\1}[1]{\mathbbm{1}_{#1}}
我们只有一个参数。这告诉 TeX,当它找到 时\1{X}
,它必须将其替换为
\mathbbm{1}_{X}
第二个版本与\DeclareRobustCommand
相同;它具有以下功能:当\1
在节标题中找到命令时,它会在辅助文件中按原样写出。这只是一个技术问题,没什么可担心的;\newcommand
在第二个解决方案中使用 会一样好。