Geometry宏包设置指南的示意图

geometry是现在设置版面样式的基本宏包了,好多入门用户不太容易掌握设置方法,这里我们给出一般情况下设置版面的参数并解释其所属页面的含义。选自:http://mbork.pl/2015-04-

04_The_geometry_package_cheat_sheetgeometry-cheat-sheet绘制代码如下:

\documentclass{article}

\usepackage{tikz}
\usepackage{lipsum}
\usetikzlibrary{math}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}[scale=0.035]
  \footnotesize
  \tikzmath{
    \PAPERWIDTH=210;
    \PAPERHEIGHT=297;
    \LMARGIN=35;
    \RMARGIN=25;
    \TMARGIN=55;
    \BMARGIN=45;
    \HEADHEIGHT=12;
    \HEADSEP=20;
    \FOOTSKIP=20;
    \WIDTH=\PAPERWIDTH-\LMARGIN-\RMARGIN;
    \HEIGHT=\PAPERHEIGHT-\TMARGIN-\BMARGIN;
  }

  \coordinate(SW) at (0,0);
  \coordinate(NE) at (\PAPERWIDTH,\PAPERHEIGHT);
  \coordinate(NW) at (SW |- NE);
  \coordinate(SE) at (SW -| NE);

  \coordinate(sw) at (\LMARGIN,\BMARGIN);
  \coordinate(ne) at ($(\LMARGIN,\BMARGIN)+(\WIDTH,\HEIGHT)$);
  \coordinate(nw) at (sw |- ne);
  \coordinate(se) at (sw -| ne);

  \coordinate(fsw) at ($(sw)-(0,\FOOTSKIP)$);
  \coordinate(fse) at ($(fsw)+(\WIDTH,0)$);

  \coordinate(hsw) at ($(nw)+(0,\HEADSEP)$);
  \coordinate(hne) at ($(hsw)+(\WIDTH,\HEADHEIGHT)$);
  \coordinate(hnw) at (hsw |- hne);
  \coordinate(hse) at (hsw -| hne);

  \begin{scope}[thick]
    \draw (SW) rectangle (NE);
    \draw (sw) rectangle (ne);
    \draw (fsw) -- (fse);
    \draw (hsw) rectangle (hne);
  \end{scope}

  \newcommand\hmeasure[4][0]{% #1: offset, #2: name, #3,#4: coordinates
    \node(#2) at ($(#3)!0.5!(#4)+(0,-#1)$) {\texttt{#2}};
    \draw[<-] ($(#3)+(0,-#1)$) -- (#2);
    \draw[->] (#2) -- ($(#4)+(0,-#1)$);
  }
  \newcommand\vmeasure[4][0]{% #1: offset, #2: name, #3,#4: coordinates
    \node[rotate=90](#2) at ($(#3)!0.5!(#4)+(#1,0)$) {\texttt{#2}};
    \draw[<-] ($(#3)+(#1,0)$) -- (#2);
    \draw[->] (#2) -- ($(#4)+(#1,0)$);
  }

  \hmeasure[8]{paperwidth}{SW}{SE}
  \vmeasure[8]{paperheight}{SE}{NE}

  \coordinate[yshift=20](sw1) at (sw);
  \coordinate[yshift=20](se1) at (se);
  \hmeasure{width}{sw1}{se1}

  \coordinate[xshift=-30](se2) at (se);
  \coordinate[xshift=-30](ne2) at (ne);
  \vmeasure{height}{se2}{ne2}

  \coordinate[xshift=20](sw3) at (sw);
  \coordinate[xshift=20](fsw3) at (fsw);
  \hmeasure{footskip}{sw3}{fsw3}

  \coordinate[xshift=20](nw4) at (nw);
  \coordinate[xshift=20](hsw4) at (hsw);
  \hmeasure{headsep}{nw4}{hsw4}

  \coordinate[xshift=-30](hse5) at (hse);
  \coordinate[xshift=-30](hne5) at (hne);
  \hmeasure{headheight}{hse5}{hne5}

  \coordinate(W) at ($(SW)!0.5!(NW)$);
  \coordinate(w) at ($(sw|-SW)!0.5!(nw|-NW)$);
  \vmeasure{lmargin}{W}{w}

  \coordinate(E) at ($(SE)!0.5!(NE)$);
  \coordinate(e) at ($(se|-SE)!0.5!(ne|-NE)$);
  \vmeasure{rmargin}{E}{e}

  \coordinate(N) at ($(NW)!0.5!(NW-|nw)$);
  \coordinate(n) at ($(nw-|N)$);
  \vmeasure{tmargin}{N}{n}
  \draw[dotted] (nw) -- (NW|-nw);

  \coordinate(S) at ($(SW)!0.5!(SW-|sw)$);
  \coordinate(s) at ($(sw-|S)$);
  \vmeasure{bmargin}{S}{s}
  \draw[dotted] (sw) -- (SW|-sw);
\end{tikzpicture}

\end{document}

另外,ChinaTeX组织翻译了geometry的说明文档,仍需更新,主要内容没有太大变化,推荐给您,猛击这里

分享到:
未经允许不得转载:Geometry宏包设置指南的示意图
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

      热门评论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系latexstudio@qq.com
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

        关注微信公众号: latex2015

        如果您投稿或者希望加入我们团队,请发送您的简历到latexstudio@qq.com。

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们