我正在使用 Peter Flynn 的bookshelf
文档类来制作一个 pdf“书架”,其中包含来自我的文件的带有标题的书脊的图形表示.bib
。
我按照文档进行操作,在最后的 XeLaTeX 运行过程中遇到此错误:
Package fontspec Info: Font family 'Arial(0)' created for font 'Arial' with
(fontspec) options [BoldFont={},ItalicFont={},SmallCapsFont={}].
(fontspec)
(fontspec) This font family consists of the following NFSS
(fontspec) series/shapes:
(fontspec)
(fontspec) - 'normal' (m/n) with NFSS spec.:
(fontspec) <->"Arial/OT:script=latn;language=dflt;"
(fontspec) - 'small caps' (m/sc) with NFSS spec.:
./fontsel/8.tex:2: LaTeX3 Error: Command '\SILmfont' already defined!
For immediate help type H <return>.
...
l.2 \def
\SILmfontname{Arial}
通过documentclass 附带的脚本对我的.bib
文件进行处理,除了其他文件之外,还生成了我的工作目录的一个子目录,其中包含文件,,......,。prepdata.sh
fontsel
1.tex
2.tex
109.tex
每个这些nnn.tex
文件包含一行形式\def\SILmfontname{
}
。
怎么了?
这是test.tex
我使用的.bib
文件:
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
% !BIB TS-program = biber
\documentclass[a0paper,landscape]{bookshelf}
\addbibresource{books.bib}
\begin{document}\raggedright
%%\immediate\write18{./prepdata.sh}
\input{entries.tex}
\nocite{*}
\par\vfill\clearpage
\printbibliography
\end{document}
这与分布式文件相同,只是我使用了我自己的.bib
文件的名称,并且根据文档,在最后两次运行之前xelatex
取消了那里的注释\input{entries.tex}
。
我认为任何格式正确的.bib
文件都可以,因为现在我不想分享我自己的文件(用于准备中的一本书)。但如果真的需要。
答案1
将 \makebook 宏的内容放在一个附加组(括号)中似乎可以解决问题。感谢 @Robert 的建议和 @murray 的基础工作。
新版本即将发布。