如何封装一个包来重命名其中定义的键?

如何封装一个包来重命名其中定义的键?

我使用pst-eucl包,但对其键定义的名称不太满意(因为这些名称很难记住)。我想通过创建一个包装包的新包来重命名一些键以满足自己的目的。例如,我想重命名:

  • PtNameMathPointLabelMath
  • PointNameSepPointLabelSep
  • PosAnglePointLabelAngle
  • PointNamePointLabel

pst-eucl您能向我展示一下上面带有重命名键的新包装吗?

答案1

只需定义复制旧键操作的新键即可:

\makeatletter
\define@key[psset]{pst-eucl}{PointLabelMath}[false]{\@nameuse{Pst@PtNameMath#1}}
\define@key[psset]{pst-eucl}{PointLabelSep}{\edef\psk@PointNameSep{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngle}{\edef\psk@PosAngle{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleA}{\edef\psk@PosAngleA{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleB}{\edef\psk@PosAngleB{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleC}{\edef\psk@PosAngleC{#1}}
\define@key[psset]{pst-eucl}{PointLabel}{\def\psk@PointName{#1}}
\define@key[psset]{pst-eucl}{PointLabelA}{\def\psk@PointNameA{#1}}
\define@key[psset]{pst-eucl}{PointLabelB}{\def\psk@PointNameB{#1}}
\define@key[psset]{pst-eucl}{PointLabelC}{\def\psk@PointNameC{#1}}
\define@key[psset]{pst-eucl}{PointLabelSep}{\edef\psk@PointNameSep{#1}}
\makeatother

如果你想编写一个新包,比如说pst-eucl-mod.sty,它应该具有以下形状:

\ProvidesPackage{pst-eucl-mod}
\RequirePackage{pst-eucl}
\define@key[psset]{pst-eucl}{PointLabelMath}[false]{\@nameuse{Pst@PtNameMath#1}}
\define@key[psset]{pst-eucl}{PointLabelSep}{\edef\psk@PointNameSep{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngle}{\edef\psk@PosAngle{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleA}{\edef\psk@PosAngleA{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleB}{\edef\psk@PosAngleB{#1}}
\define@key[psset]{pst-eucl}{PointLabelAngleC}{\edef\psk@PosAngleC{#1}}
\define@key[psset]{pst-eucl}{PointLabel}{\def\psk@PointName{#1}}
\define@key[psset]{pst-eucl}{PointLabelA}{\def\psk@PointNameA{#1}}
\define@key[psset]{pst-eucl}{PointLabelB}{\def\psk@PointNameB{#1}}
\define@key[psset]{pst-eucl}{PointLabelC}{\def\psk@PointNameC{#1}}
\define@key[psset]{pst-eucl}{PointLabelSep}{\edef\psk@PointNameSep{#1}}
\endinput

如果您想要其他名称,可以在文件中找到来源pst-eucl.tex

这个新包不接受old可以传递给的选项pst-eucl,我相信您不需要它。

相关内容