
Eu tenho um documento que usa a classe de documento KOMAscript srcrprt. Para algumas páginas preciso configurar margens personalizadas usando valores absolutos. Tentei usar o pacote de geometria para isso, da seguinte forma:
\newgeometry{..options..}
..custom page..
\restoregeometry
No entanto, isso não funciona conforme o esperado. Assim que acrescento \usepackage{geometry}
ao preâmbulo, o layout do documento KOMAscript é debatido.
É possível consertar isso?
Responder1
O geometry
pacote tem uma opção muito útil, nomeadamente pass
.
Se você ligar
\usepackage[pass]{geometry}
o pacote não definirá nenhum parâmetro de paginação, apenas se carregará e disponibilizará o \newgeometry
comando.
Um exemplo de uso está na documentação do pacote:
\documentclass{book}
\usepackage[pass]{geometry}
% ’pass’ disregards the package layout,
% so the original ’book’ layout is memorized here.
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
Page 1
\restoregeometry % restores the original ’book’ layout.
Page 2 and more
\end{document}
Responder2
Para várias versões, o KOMA-Script fornece uma opção não documentada usegeometry
para interagir com o pacote geometry
. Desde o KOMA-Script 3.22 esta é uma opção documentada (de package typearea
). Ele traduz as configurações de página do pacote typearea
em configurações de página do pacote geometry
e as passa, por exemplo, como opções para geometry
.
\documentclass[usegeometry]{scrreprt}
\usepackage{geometry}
\usepackage{showframe}
\begin{document}
\newgeometry{margin=1cm}% changes the first page dimensions.
Page 1
\restoregeometry % restores the original typearea layout.
Page 2 and more
\end{document}
A cooperação torna ainda possível alterar o tamanho ou a orientação da página usando typearea
e depois alterar as margens usando geometry
, algo que atualmente geometry
não fornece usando \newgeometry
. Mas neste caso você deve usar typearea
os comandos do para armazenar e restaurar as geometrias.