我使用pst-eucl
包,但对其键定义的名称不太满意(因为这些名称很难记住)。我想通过创建一个包装包的新包来重命名一些键以满足自己的目的。例如,我想重命名:
PtNameMath
到PointLabelMath
。PointNameSep
到PointLabelSep
。PosAngle
到PointLabelAngle
。PointName
到PointLabel
。
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
,我相信您不需要它。