Я использую LaTeX для набора книги моей жены и до недавнего времени не испытывал никаких проблем. Я настроил файл на размер страницы 6x9 и все работало нормально. Когда я обновил свой компьютер до последней версии Ubuntu (17.04), страницы теперь выходят размером 8.5x11, но только если \include{graphicx}
используется и только с классом документа memoir. Это также происходит на моем компьютере с Windows с Miktex, оба из которых работали нормально до обновления.
\documentclass{memoir}
\usepackage[paperwidth=6in,paperheight=9in]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[1-6]
\end{document}
Этот код работает отлично, создавая PDF-файл с размером страницы 6x9, но когда я добавляю \usepackage{graphicx}
:
\documentclass{memoir}
\usepackage[paperwidth=6in,paperheight=9in]{geometry}
\usepackage{graphicx}
\usepackage{lipsum}
\begin{document}
\lipsum[1-6]
\end{document}
он становится 8,5 x 11. Я пробовал добавлять, \pdfpagewidth=6in
\pdfpageheight=9in
но это не дало никакого эффекта. Были ли изменения в классе memoir или graphicx? Есть ли альтернатива graphicx? Или другой способ задать размер страницы?
решение1
Проблема в том, что pdftex.def
(на самом деле, уже много лет) он определяет длину мемуаров \stockwidth
и использует ее в первую очередь, а не в \paperwidth
качестве установленной.
Если бы вы использовали мемуарные возможности, это было бы установлено, но быстрое решение было бы
\documentclass{memoir}
\usepackage[paperwidth=6in,paperheight=9in]{geometry}
\usepackage{graphicx}
\stockwidth\paperwidth
\stockheight\paperheight
\usepackage{lipsum}
\begin{document}
\lipsum[1-6]
\end{document}
решение2
В этом случае нет необходимости в геометрии, даже в ручной настройке размеров. Просто введите опцию memoir class, ebook
которая последовательно устанавливает размер бумаги 6x9 дюймов.
Затем, если вам нужно изменить поля, используйте, например,
\setlrmarginsandblock{left} {right} {ratio}
\setulmarginsandblock{top} {bottom} {ratio}
\checkandfixthelayout
Обратите внимание, что в трех комбинациях аргументов должен быть только один аргумент.*