为什么 \fontspec 包会破坏小册子设置?

为什么 \fontspec 包会破坏小册子设置?

我正在尝试创建一本包含英语和俄语的小册子。我可以找到一个代码来设置小册子的所有方面,但是一旦我添加一个使用俄语字母的包,它就会破坏小册子的格式。

它看起来应该是这样的:在此处输入图片描述

但是一旦我添加包fontspec它就变成了这样:在此处输入图片描述

我相信它不再是横向的。这是我使用的全部代码:

\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}

在此处输入图片描述

相关内容