С некоторыми geometry
опциями можно переопределить предыдущую настройку в преамбуле. Например:
\documentclass{article}
\usepackage{geometry}
\geometry{hmarginratio=1:1}
\geometry{showframe,hmarginratio=6:1}
\begin{document}
abc
\end{document}
С другими этот метод не работает. Например:
\documentclass{article}
\usepackage{geometry}
\geometry{scale=.85}
\geometry{showframe,scale=.25}
\begin{document}
abc
\end{document}
Есть ли веская причина для такой разницы и есть ли способ ее обойти?
Причина, по которой я хотел бы это сделать, заключается в том, что я могу задать для класса или пакета значение по умолчанию для scale
использования \geometry{}
, но при этом разрешить переопределить его в преамбуле документа.
решение1
Я не думаю, что это полное решение, но оно слишком длинное для комментария (и я не понимаю, что здесь может пойти не так)
Рассматриваем документацию geometry
:
reset возвращает размеры макета и переключается на настройки до загрузки геометрии. Параметры, указанные в geometry.cfg, также очищаются. Обратите внимание, что это не может сбросить pass и mag с truedimen. reset=false не имеет эффекта и не может отменить предыдущий сброс (=true), если таковой был.
Так что, reset
возможно, это правильный вариант для \geometry
преамбулы
\documentclass{article}
\usepackage{geometry}
\geometry{verbose,showframe,scale=.85}
\geometry{reset,verbose,showframe,scale=0.25,lmargin=2in}
\begin{document}
abc
\end{document}