如何让 xkvview 记录 keyreader 定义的按键?

如何让 xkvview 记录 keyreader 定义的按键?

由于是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
}

补丁应该插入到观看视频或加载后观看视频

相关内容