Как заставить LaTeX выводить данные только на правую страницу?

Как заставить LaTeX выводить данные только на правую страницу?

Я делаю книгу стихов для друга, используя Memoir и поэтический пакет. Она хотела бы, чтобы стихи печатались только на правых страницах. Я могу заставить стихи начинаться только на правых страницах, но любое стихотворение, которое попадает на вторую страницу, очевидно, выливается на левую страницу. Как мне это изменить?

решение1

Это решение также основано на пакете atbegshi. Если будет напечатана "четная" страница стихотворения, то перед этим выводится пустая страница. Сложность заключается в фиксации счетчиков страниц на странице и в файле .log.

\documentclass{memoir}
\usepackage{atbegshi}
\usepackage{zref-abspage}
\usepackage{lipsum}

\newif\ifoddpoem
\newif\ifoddpoemPageInc
\AtBeginShipout{%
  \ifoddpoem
    \ifodd\value{abspage}%
      \stepcounter{page}%
      \global\oddpoemPageInctrue
      \advance\value{page} by -1\relax
    \else
      \stepcounter{abspage}%
      \global\oddpoemPageIncfalse
      \addtocounter{page}{-1}%
      \AtBeginShipoutOriginalShipout\null
      \stepcounter{page}%
    \fi
  \fi
}
\newenvironment{oddpoem}{%
  \cleardoublepage
  \oddpoemtrue
}{%
  \clearpage
  \ifoddpoemPageInc
    \addtocounter{page}{-1}%
    \global\oddpoemPageIncfalse
  \fi
}

\begin{document}

\section{Text before poem}
\lipsum[1-4]

\begin{oddpoem}
  \section{Short poem}
  \lipsum[5-8]
\end{oddpoem} 

\section{Text after short poem}
\lipsum[9-12]

\begin{oddpoem}
  \section{Long poem}
  \lipsum[13-18]
  \lipsum[22-24]
\end{oddpoem}   

\section{Text after long poem}
\lipsum[25-29]

\end{document}

введите описание изображения здесь

Связанный контент