我正在尝试创建一本包含英语和俄语的小册子。我可以找到一个代码来设置小册子的所有方面,但是一旦我添加一个使用俄语字母的包,它就会破坏小册子的格式。
我相信它不再是横向的。这是我使用的全部代码:
\documentclass[letterpaper,11pt]{memoir}
\settypeblocksize{5.5in}{4in}{*}
\addtolength{\textheight}{\onelineskip}
\setlrmargins{2in}{*}{*}
\setulmargins{2.25in}{*}{*}
\checkandfixthelayout
\usepackage[print,1to1]{booklet} \nofiles
\pagespersignature{16}
\ifpdf
\setpdftargetpages
\else
\setdvipstargetpages
\fi
\ifprintoption
\special{!TeXDict begin /landplus90{true}store end}
\special{!TeXDict begin <</Tumble true>> setpagedevice end}
\fi
\begin{document}
\chapter{First}
Page one
страница один
\newpage
Page two
страница два
\newpage
Page three
страница три
\end{document}
答案1
这不是 的错误fontspec
,而是 的错误booklet
。
当你用 XeLaTeX 编译时,这个宏\setdvipstargetpages
会被执行(因为\ifpdf
返回 false),但这对引擎来说毫无意义。另一方面,\setpdftargetpages
这是可以理解的。
\documentclass[letterpaper,11pt]{memoir}
\usepackage{ifxetex}
\usepackage{fontspec}
\usepackage{kantlipsum} % for mock text
\settypeblocksize{5.5in}{4in}{*}
\addtolength{\textheight}{\onelineskip}
\setlrmargins{2in}{*}{*}
\setulmargins{2.25in}{*}{*}
\checkandfixthelayout
\usepackage[print,1to1]{booklet} \nofiles
\pagespersignature{16}
\ifpdf
\setpdftargetpages
\else
\ifxetex
\setpdftargetpages
\else
\setdvipstargetpages
\fi
\fi
%\ifprintoption
%\special{!TeXDict begin /landplus90{true}store end}
%\special{!TeXDict begin <</Tumble true>> setpagedevice end}
%\fi
\begin{document}
\chapter{First}
Page one
\kant[1-20]
\end{document}