上次我问黑板上加粗希腊字母给出的答案为我打开了一个充满可能性的新世界。所以我只是在玩\mathb
命令(这正是\mathbb
主答案中定义的,只是重命名以便仍然能够使用原始的\mathbb
),将它与应该代表矩阵的每个符号一起使用;例如,我使用的是$\slashed{\mathb{p}}$
而不是通常的$\slashed{p}$
狄拉克斜线符号(这里关于斜线如何书写的问题
但是我有一个问题:现在我想写,$\slashed{\mathb{\partial}}$
但是出现了这个错误信息
! Missing \endcsname inserted.
<to be read again> \partial
l.20142 $\slashed{\mathb{\partial}}$
我能做什么?谢谢!
答案1
这是手动操作的方法...将中间结果保存在框中并应用于\slashed
框。现在的诀窍是重新定义\mathb
此方法,也许作为默认方法。
\documentclass{article}
\usepackage{xcolor,slashed}
\input pdf-trans
\newbox\qbox
\def\usecolor#1{\csname\string\color@#1\endcsname\space}
\newcommand\bordercolor[1]{\colsplit{1}{#1}}
\newcommand\fillcolor[1]{\colsplit{0}{#1}}
\newcommand\outline[1]{\leavevmode%
\def\maltext{#1}%
\setbox\qbox=\hbox{\maltext}%
\boxgs{Q q 2 Tr \bbthickness\space w \fillcol\space \bordercol\space}{}%
\copy\qbox%
}
\newcommand\mathb[1]{\outline{$#1$}}
\newcommand\textbb[1]{\outline{#1}}
\newcommand\colsplit[2]{\colorlet{tmpcolor}{#2}\edef\tmp{\usecolor{tmpcolor}}%
\def\tmpB{}\expandafter\colsplithelp\tmp\relax%
\ifnum0=#1\relax\edef\fillcol{\tmpB}\else\edef\bordercol{\tmpC}\fi}
\def\colsplithelp#1#2 #3\relax{%
\edef\tmpB{\tmpB#1#2 }%
\ifnum `#1>`9\relax\def\tmpC{#3}\else\colsplithelp#3\relax\fi
}
\bordercolor{black}
\fillcolor{white}
\newcommand\bbthickness{.15}
\begin{document}
$\sbox0{$\mathb{\partial}$} \slashed{\copy0}$
\end{document}