使用几何图形将 PDF 转换为书签尺寸

使用几何图形将 PDF 转换为书签尺寸

为了制作自己的书签,我首先使用几何图形来获得正确的尺寸(出于某种原因,这是 20cm x 5.5cm)。使用前两个答案另一个问题,我写了以下内容:

\documentclass{article}
\usepackage[margin=0cm,paperheight=20cm,paperwidth=5.5cm]{geometry}
%\usepackage[pass,paperwidth=5.5cm,paperheight=20cm]{geometry}
\begin{document}
\noindent hello world
\end{document}

(在两条几何线之间切换以测试两者。)奇怪的是,这会产生一个 22cm x 6cm 的 pdf 文件。使用以下脚本编译为 png(这次是在 TeXworks 中,因为我不知道如何使用 TeXstudio 来执行此操作),它甚至变成了 2476px x 331px(即 41 x 5.5cm)。

/C
texify.exe
--tex-option=$synctexoption
$fullname
&
dvipng.exe
-D 300x
$basename.dvi

为什么第一种方法的输出文件尺寸与第二种方法不同,为什么它们的尺寸都不合适?显然,定义纸张尺寸的正确方法是什么?

答案1

test.tex以下示例的测试文件是来自问题的文件:

\documentclass{article}
\usepackage[margin=0cm,paperheight=20cm,paperwidth=5.5cm]{geometry}
\begin{document}
\noindent hello world
\end{document}

dvipng对我来说,工作选项如下:

dvipng -D300 -O 1in,1in -T 5.5cm,20cm test

结果:test1.png

identify test1.png
test1.png PNG 649x2362 649x2362+0+0 8-bit PseudoClass 16c 4.66KB 0.000u 0:00.000

宽度:649/300*2.54厘米≈5.4949厘米≈5.5 厘米
高度:2362/300*2.54厘米≈19.9983厘米≈20 厘米

评论:

  • 顺序很重要,-D300必须先行。

  • papersize文件中由dvips.dvi设置的特殊内容将被忽略 ( ):geometryspecial.c

    if (strncmp(special,"papersize=",10)==0) { /* papersize spec, ignored */
      return;
    }
  • 版本dvipng
    dvipng --version

    This is dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson
    dvipng 1.14
    kpathsea version 6.1.1
    Compiled with Freetype 2.4.11
    Using libft 2.4.11
    Using t1lib 5.1.2
    ...

PDF 生成

使用 pdfTeX 很简单:

pdflatex test

以下命令报告页面大小:

pdfinfo test.pdf
...
Page size:      155.905 x 566.929 pts
...

ptsPDF/PostScript 世界中的点,与 TeX 的单位相同bp

宽度 = 155.905 bp / (72 bp/1 英寸) * (2.54 厘米/1 英寸) ≈ 5.5016 厘米 ≈5.5 厘米
高度 = 566.929 bp / (72 bp/1 英寸) * (2.54 厘米/1 英寸) ≈ 19.9993 厘米 ≈20 厘米

相关内容