Для тех, кто все еще сталкивается с проблемой, о которой упоминал Дерек, я обнаружил, что мне нужно явно установить ширину элемента, который переключает его макет. Так с примером div
<div class="portraitPage">
<p>Some page content in portrait</p>
</div>
<div class="landscapePage">
<p>Some page content in landscape</p>
</div>
будет корректно форматировать портретную страницу, за которой следует альбомная страница, но содержимое альбомной страницы будет иметь такую же ширину, что и портретная страница, даже если объявление @ page land содержит ширину. Мне нужно было установить ширину непосредственно в div, к которому применен соответствующий класс, поэтому объявление выглядит как
.landscapePage { page:land; width: 29.7cm; }
Будьте осторожны, хотя ширина должна учитывать любые поля или отступы, применяемые через блок объявления @page.