使用最新版本bidi
(32.4),在第一页的页脚中添加了一个徽标,内容为排版由比迪烟包裹。
在撰写供他人查看的文档时,这显然是不可取的,无论是给同事的信件还是给学生的考试表。
然而,隐藏该标志被证明是很有挑战性的,而且谷歌(目前)也无能为力。
这是我目前所知道的:
有一个
bidi
用于生成徽标的新选项。来自bidi.sty
:\newcommand*{\@bidi@inslogo@}{\insert\@bidi@copyins@{\@bidi@logo@}} \newcommand*{\@bidi@logo@hb@xt@}{% \if@RTLmain \hboxR to \else \hboxL to \fi } \newcommand*{\@bidi@logo@}{\@bidi@logo@hb@xt@\textwidth{\hss\LRE{\bfseries Typeset by the \textsf{bidi} package}}}
如果直接调用
bidi
,我怀疑(但我真的不确定)该设置\usepackage[logo=off]{bidi}
可能足以隐藏该消息。但是,如果使用polyglossia
,则无论如何都无法设置标志。可以通过在序言之后添加以下内容来隐藏徽标
\usepackage{polyglossia}
:\makeatletter \let\@bidi@logo@\@empty \let\@bidi@inslogo@\@empty \makeatother
为什么要添加这个标志bidi
?有没有“正确”的方法来隐藏它?
答案1
只要你加载bidi
后正在加载polyglossia
但前使用任何polyglossia
可以加载它的命令(基本上是任何语言设置命令),您都可以将选项传递logo=off
给bidi
。
\documentclass{article}
\usepackage{polyglossia}
\usepackage[logo=off]{bidi}
\setmainlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\begin{document}
\begin{english}
Hello
\end{english}
\begin{hebrew}
שלום
\end{hebrew}
\end{document}
哪种方法更可取?
bidi
正如您在评论中提到的那样,通过此处的方法或使用明确传递选项\PassOptionsToPackage
将在该包的早期版本中失败,而重新定义\@bidi@inslogo@
则不会。因此,如果您的文档可能在不同的机器/发行版上编译,那么重新定义方法显然更好。
至于使用还是在 之后立即\PassOptionsToPackage
加载,两者的区别可能只是个人喜好不同。由于 可以在 加载 之前的任何加载顺序中,因此使用 会稍微简单一些。bidi
polyglossia
\PassOptionsToPackage
polyglossia
答案2
您可以使用宏\PassOptionsToPackage{<options>}{<package>}
将选项传递给已加载到另一个包或类中的包。在加载包之前执行此操作非常重要。
有了它,您就可以使用它\PassOptionsToPackage{logo=off}{bidi}
来\usepackage{polyglossia}
解决问题。