如何在文档页面中打印(或使用)几何属性的值?

如何在文档页面中打印(或使用)几何属性的值?

我在使用软件包时遇到问题geometry。我想找出页面(布局)的参数,例如文本宽度、布局高度等。我希望我的页面有一个动态布局,不需要数字或常量。

我已经找到了很多页面,但到目前为止我还不能正确地做到这一点。

例如:如何将 layoutwidth 的值(来自包手册width=\Gm@layoutwidth)打印到文档或在对象的 TiKZ 参数中使用它。

答案1

您可以使用以下verbose选项:

\documentclass{book}

\usepackage[
  a4paper, twoside,
  layout=b5paper,
  left=2cm, hmarginratio=2:1, includemp, marginparwidth=43pt,
  bottom=1cm, foot=.7cm, includefoot,
  heightrounded,
  columnsep=1cm,
  verbose
]{geometry}

\usepackage{kantlipsum}

\begin{document}

\kant

\end{document}

您会在文件中发现.log

*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: a4paper
* layout: <custom>
* layout(width,height): (500.7685pt,711.3189pt)
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* hratio: 2:1
* modes: includefoot includemp twoside heightrounded 
* h-part:(L,W,R)=(56.9055pt, 415.41025pt, 28.45274pt)
* v-part:(T,H,B)=(85.35913pt, 597.50702pt, 28.45274pt)
* \paperwidth=597.50787pt
* \paperheight=845.04684pt
* \textwidth=365.41025pt
* \textheight=574.0pt
* \oddsidemargin=-15.36449pt
* \evensidemargin=6.18275pt
* \topmargin=-16.97835pt
* \headheight=12.0pt
* \headsep=18.06749pt
* \topskip=10.0pt
* \footskip=19.91684pt
* \marginparwidth=43.0pt
* \marginparsep=7.0pt
* \columnsep=28.45274pt
* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidetrue
* \@mparswitchtrue
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)

这些参数在运行时可用:例如\Gm@layoutwidth是一个尺寸参数,您可以在需要长度时访问它;只需在文档前言中添加

\newcommand{\geometrylen}[1]{\csname Gm@#1\endcsname}

你可以做

width=\geometrylen{layoutwidth}

需要指定长度。

你甚至可以说

\texttt{\the\geometrylen{layoutwidth}}

500.7685pt打印出来。

相关内容