使用graphicx時,a41.sty定義的頁面大小會改變

使用graphicx時,a41.sty定義的頁面大小會改變

如果將graphicx包和a41.sty.如果我使用以下命令編譯文檔,頁面大小會發生變化pdflatex

免責聲明:我知道 usinga41.sty已經嚴重過時並且已被棄用。使用它不是我的選擇,而且我擔心切換到更現代的方法將紙張尺寸調整為 A4 超出了我的權限。我只想了解這兩個包在給定約束下的干擾。

預期行為

使用時a41.sty將紙張尺寸改為A4,並將頁邊距調整得較小。包含該graphicx套件不應改變有關頁面大小的任何內容。

觀察到的行為

只要我只包括a41.sty邊距,看起來就如預期的那樣。當我包含該graphicx套件並用於pdflatex編譯文件時,頁面大小明顯變小,並且頁碼放置在非常靠近頁面邊框的位置。latex但是,使用 時,兩個版本(有和沒有graphicx)都會產生相同的輸出。

用graphicx輸出

不含圖形的輸出

問題

誰能解釋一下這裡到底發生了什麼事?有沒有辦法避免這個問題(除了切換到geometryor typearea)?

最小工作範例

\documentclass[12pt]{article}
\usepackage{a41}
\usepackage{graphicx}
\usepackage{lipsum} % for filler text
\begin{document}
% insert filler text
\lipsum
\end{document}

a41.sty

由於它不是很普遍,這裡是 a41.sty 的內容:

% Correction for A4 paper (297x210mm) instead of the american 11x8.5in.         
% To be called, for example, in this way:                                       
%                 \documentstyle[12pt,A4]{article}                              
\addtolength{\textheight}{154.6pt}
\addtolength{\textwidth}{100pt}
\addtolength{\topmargin}{-92pt}
\addtolength{\topmargin}{0.5cm}
\addtolength{\oddsidemargin}{-52pt}
\addtolength{\oddsidemargin}{-0.2cm}
\addtolength{\evensidemargin}{-52pt}
\addtolength{\evensidemargin}{-0.2cm}

答案1

graphics(以及geometry一兩個其他現代(即 post pdftex)套件)將\paperheight和的值傳遞\paperwidth給 PDF 輸出\pdfpageheight\pdfpagewidth以便 PDF 檢視器使用預期的頁面大小。

如果您在文件類別上使用標準[a4paper]選項,這些選項將設定為 A4,但由於您沒有使用,因此將使用預設的 USLetter 大小。

文件中的評論暴露了它的年齡

\documentstyle[12pt,A4]{article}  

這是1993年之前的latex2.09用法。

相關內容