Как заставить альбомный режим правильно вращаться в двухсторонней книге? - PullRequest
3 голосов
/ 13 февраля 2011

Как я могу использовать пакет pdflscape (или какой-то другой?) В двухсторонней книге, чтобы альбомный режим всегда вращался так, чтобы верхняя часть страницы указывала на середину книги? По умолчанию кажется, что ландшафтный режим этого не делает?

Так что я хотел бы время от времени иметь страницу в альбомном режиме, но она должна вращаться правильно. Это, вероятно, сделает некоторые страницы с альбомной ориентацией трудными для чтения на экране, так как они будут перевернуты, но это будет намного лучше печататься.

1 Ответ

4 голосов
/ 16 марта 2011

На самом деле вы спрашиваете действительно сложно, попробуйте добавить в преамбулу следующее:

\makeatletter
\global\let\orig@begin@landscape=\landscape%
\global\let\orig@end@landscape=\endlandscape%
\gdef\@true{1}
\gdef\@false{0}
\gdef\landscape{%
    \global\let\within@landscape=\@true%
    \orig@begin@landscape%
}%
\gdef\endlandscape{%
    \orig@end@landscape%
    \global\let\within@landscape=\@false%
}%
\@ifpackageloaded{pdflscape}{%
    \gdef\pdf@landscape@rotate{\PLS@Rotate}%
}{
    \gdef\pdf@landscape@rotate#1{}%
}
\let\latex@outputpage\@outputpage
\def\@outputpage{
    \ifx\within@landscape\@true%
        \if@twoside%
            \ifodd\c@page%
                \gdef\LS@rot{\setbox\@outputbox\vbox{%
                    \pdf@landscape@rotate{-90}%
                    \hbox{\rotatebox{90}{\hbox{\rotatebox{180}{\box\@outputbox}}}}}%
                }%
            \else%
                \gdef\LS@rot{\setbox\@outputbox\vbox{%
                    \pdf@landscape@rotate{+90}%
                    \hbox{\rotatebox{90}{\hbox{\rotatebox{0}{\box\@outputbox}}}}}%
                }%
            \fi%
        \else%
            \gdef\LS@rot{\setbox\@outputbox\vbox{%
                \pdf@landscape@rotate{+90}%
                \hbox{\rotatebox{90}{\hbox{\rotatebox{0}{\box\@outputbox}}}}}%
            }%
        \fi%
    \fi%
    \latex@outputpage%
}
\makeatother
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...