是否可以定义
\newcommand{\√}[1]{\sqrt{#1}}
因为像这样的命令有时会更容易使用。
答案1
如果宏没有参数,那么这只需要加载newunicodechar
包或使用\DeclareUnicodeCharacter
宏。要使“角色”接受参数,需要采用略有不同的方法。
如果你使用 XeTeX 或 LuaTeX,你可以使用以下任一方式
\catcode`\√=\active
\newcommand{√}[1]{\sqrt{#1}}
…
$√{2}$
或者
\newcommand{\√}[1]{\sqrt{#1}}
…
$\√{2}$
(第二种方法更为稳健。)
使用 pdfTeX 时,\√
语法将无法工作,因为 pdfTeX 处理输入的方式(尽管理论上可以实现这一点)。这只剩下唯一的方法(取自newunicodechar
文档并进行了修改):
\documentclass{article}
\usepackage[utf8]{inputenc}
\expandafter\newcommand\csname u8:\detokenize{√}\endcsname[1]{%
\sqrt{#1}}
\begin{document}
$√{2}$
\end{document}