如果我使用 XeLaTeX 编译我的文档(有关 MWE,请参阅下文),我将获得 595.28 x 841.89 pts 的页面大小。如果我使用 LuaLaTeX 或 pdfLaTex 编译同一文档,我将获得 595.276 x 841.89 pts 的页面大小。
a4paper
无论我选择\documentclass[a4paper]{article}
还是都没有什么区别\usepackage[a4paper]{geometry}
。
这实际上导致测试用例失败,但老实说,它可能没有实际意义(或?)。
是否可以使所有编译器的页面大小相同,或者是否可以更改测试用例以便通过这两种情况?
最小工作示例
\documentclass{article}
\usepackage[a4paper]{geometry}
\begin{document}
Lorem ipsum.
\end{document}
日志
lualatex mwe.tex > /dev/null && pdfinfo -box -f 1 -l 1 mwe.pdf | grep Page
Pages: 1
Page 1 size: 595.276 x 841.89 pts (A4)
Page 1 rot: 0
Page 1 MediaBox: 0.00 0.00 595.28 841.89
Page 1 CropBox: 0.00 0.00 595.28 841.89
Page 1 BleedBox: 0.00 0.00 595.28 841.89
Page 1 TrimBox: 0.00 0.00 595.28 841.89
Page 1 ArtBox: 0.00 0.00 595.28 841.89
xelatex mwe.tex > /dev/null && pdfinfo -box -f 1 -l 1 mwe.pdf | grep Page
Pages: 1
Page 1 size: 595.28 x 841.89 pts (A4)
Page 1 rot: 0
Page 1 MediaBox: 0.00 0.00 595.28 841.89
Page 1 CropBox: 0.00 0.00 595.28 841.89
Page 1 BleedBox: 0.00 0.00 595.28 841.89
Page 1 TrimBox: 0.00 0.00 595.28 841.89
Page 1 ArtBox: 0.00 0.00 595.28 841.89
pdflatex mwe.tex > /dev/null && pdfinfo -box -f 1 -l 1 mwe.pdf | grep Page
Pages: 1
Page 1 size: 595.276 x 841.89 pts (A4)
Page 1 rot: 0
Page 1 MediaBox: 0.00 0.00 595.28 841.89
Page 1 CropBox: 0.00 0.00 595.28 841.89
Page 1 BleedBox: 0.00 0.00 595.28 841.89
Page 1 TrimBox: 0.00 0.00 595.28 841.89
Page 1 ArtBox: 0.00 0.00 595.28 841.89
测试用例
require 'pdf/reader'
describe 'xelatex-lualatex' do
reader = PDF::Reader.new('mwe.pdf')
it 'Should be A4 sized' do
expect(reader.pages[0].attributes[:MediaBox]).to eq([0, 0, 595.28, 841.89])
end
end
使用 运行rspec mwe.rb
。