该宏\NewList
在 中定义biditools.sty
(最初在 中定义lollipop
)为:
\def\bidi@csarg#1#2{\expandafter#1\csname#2\endcsname}
\def\NewList:#1 {\bidi@csarg\newtoks{#1}\global\csname#1\endcsname{}}
这与 中的定义不同easylist.sty
。
需要注意的是,该宏\NewList
未在bidi
或xepersian
包中的任何地方使用,但是,在下面的代码中它会导致失败。
\documentclass{article}
\usepackage{easylist}
\usepackage[fontsloadable]{xepersian} % option is required because
% xepersian 21.8 and 21.9 prevent loading fonts
% with the string "HM" in their font name.
\settextfont[Scale=1.44]{Amiri}
\setlatintextfont[Scale=1.44]{Psychedelia HM}
\pagestyle{empty}
\begin{document}
\begin{easylist}\NewList
§ تراز اول --- \lr{first level}
§§§ تراز سوم --- \lr{third level}
\end{easylist}
\end{document}
错误信息是:
(c:/texlive/2018/texmf-dist/tex/xelatex/xepersian/loadingorder
-xepersian.def)
(c:/texlive/2018/texmf-dist/tex/xelatex/xepersian/footnote-xep
ersian.def)
(c:/texlive/2018/texmf-dist/tex/xelatex/xepersian/article-xepe
rsian.def)) (./easylist-test.aux)
! Use of \NewList doesn't match its definition.
l.11 §
تراز اول --- \lr{first level}
? h
If you say, e.g., `\def\a1{...}', then you must always
put `1' after `\a', since control sequence names are
made up of letters only. The macro here has not been
followed by the required stuff, so I'm ignoring it.
?
\NewList
在 中注释掉宏是否安全biditools.sty
?如果是,LaTeX 中是否有任何(内部或外部)命令可以代替\NewList
?
答案1
我不确定\NewList
中定义应该做什么biditools
。
它的定义是,需要其后跟一个冒号。
您可以恢复定义,但如果需要easylist
重新定义,这可能会导致问题。\NewList
\documentclass{article}
\usepackage{easylist}
\let\easylistNewList\NewList
\usepackage{xepersian}
\settextfont[Scale=1.44]{Amiri}
\AtBeginDocument{\let\NewList\easylistNewList}
\pagestyle{empty}
\begin{document}
\begin{easylist}\NewList
§ تراز اول
§§§ تراز سوم
\end{easylist}
\end{document}
您可能不想执行第二步,而是\let
使用\easylistNewList
。