Latex \newcommand 用法

Latex \newcommand 用法

我想简化输入指标函数的方式。所以我使用了包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的字体。amssymbamsfonts


让我们坚持下去\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在第二个解决方案中使用 会一样好。

相关内容