由于是keyreader
基于的,xkeyval
我想知道是否有可能使它与xkvview
随附的一起工作xkeyval
。
\documentclass{scrartcl}
\usepackage{xkvview}
\usepackage{keyreader}
\makeatletter
% recorded
\define@boolkey{LI@package}[li@]{savemode}[true]{}
% not recorded
\krddefinekeys{LI@all}[li@]{%
cmd/testa/;
}
\begin{document}
\xkvview{}
\end{document}
该示例显示,使用 方式定义的键xkeyval
可被识别,但通过 定义的键则无法识别keyreader
。我认为在内部keyreader
使用这些xkeyval
命令,因此我希望它也在\xkvview{}
列表中
答案1
键盘阅读器适用于观看视频。 加载键盘阅读器前观看视频。下面是一个例子:
\documentclass{article}
\usepackage{keyreader}
\usepackage{xkvview}
\makeatletter
\krddefinekeys{fama}{%
ord/keya/default;
cmd/keyb;
choice/keyc/center/center.do=\def\x##1{#1xx##1},left,right;
bool/keyd/true;
}
\krddefinekeys{famb}{%
choice/planet/Earth/Earth.do=\def\x##1{#1##1},Mars,Jupiter;
bool/space travel/true;
}
\makeatother
\begin{document}
%\xkvview{family=fama,default=[none]}
\xkvview{family=fama}
\end{document}
我必须调查为什么keyc
该表中出现了两次。
编辑:
keyc
由于软件包中的错误而显示两次观看视频.我在下面提供了一个补丁:
\def\XKV@d@fine@ch@icekey#1[#2]{%
\let\d@fault\relax
\XKVV@tabulate{#1}{choice}{#2}%
\XKV@define@default{#1}{#2}%
\XKV@d@fine@ch@ic@key{#1}%
}
\def\XKV@d@fine@ch@ic@key#1{%
\ifx\d@fault\relax
\let\d@fault\@undefined
\else
\XKVV@tabulate{#1}{choice}{[none]}%
\fi
\ifXKV@pl\XKV@afterelsefi
\expandafter\XKV@d@f@ne@ch@ic@k@y
\else\XKV@afterfi
\expandafter\XKV@d@f@ne@ch@ic@key
\fi
\csname\XKV@header#1\endcsname
}
补丁应该插入到观看视频或加载后观看视频。