\mathbb{Z}/p^{a}\mathbb{Z}
我在工作中多次使用变量a
,我在想我是否可以定义一个宏来\Z_p^{a}
给出上述结果。我试过了
\newcommand{\Z_p}[1]{\ensuremath{\mathbb{Z}/p^{#1}\mathbb{Z}}}
但 LaTeX 不喜欢它。
答案1
我会选择
\newcommand{\Zp}[1]{\mathbb{Z}/p^{#1}\mathbb{Z}}
并$\Zp{a}$
会执行您想要的操作。不可能_
以宏的名称来执行该操作(除非玩一些卑鄙而脆弱的把戏)。
也许我会
\newcommand{\Zp}[2][p]{\mathbb{Z}/#1^{#2}\mathbb{Z}}
因此,如果你想使用不同的素数,你可以输入
\Zp[q]{a}
为什么不呢\ensuremath
?因为这样做没什么用处;我发现以适当的方式(即在$
符号之间或在 内)隔离数学要好得多\(...\)
。
如果你已经拥有
\newcommand{\Z}{\mathbb{Z}}
最好这样做
\newcommand{\Zp}[2][p]{\Z/#1^{#2}\Z}
因此,整数格式的更改将自动产生相同的更改\Zp
。更好的是,我通常建议这样做
\newcommand{\numberset}[1]{\mathbb{#1}}
\newcommand{\Z}{\numberset{Z}}
\newcommand{\Q}{\numberset{Q}}
% ... other possible number sets ...
\newcommand{\Zp}[2][p]{\Z/#1^{#2}\Z}
这样就能确保所有相似符号的统一性。
答案2
使用 Plain TeX 语法你可以这样做:
\documentclass{article}
\usepackage{amsfonts}
\def\Z_p#1{\ensuremath{\mathbb{Z}/p^{#1}\mathbb{Z}}}
\begin{document}
\Z_p {137}% or Z_p{137}, it's all up to you
\end{document}
请注意,如果存在上一条命令,它将覆盖该命令\Z
,但默认情况下不存在该命令。为了确保已加载其他软件包,请插入
\newcommand\Z{}
给\def
LaTeX 一个抗议的机会。