Tikz \fill 与几何定义的边距相抵消

Tikz \fill 与几何定义的边距相抵消

我想创建自己的简历模板,并且我正处于构建文档的开始阶段。

我使用 geometry 包指定了纸张边距(以后可能会更改)。我想将文档分为两列(使用 minipages 完成),左列用灰色阴影显示(使用 tikz \fill 完成)。

带有小页面的两列工作正常,但是,当我将 tikz \fill 添加到文档时,小页面中的文本不再从顶部开始,但顶部似乎有一个边距。

我该如何消除这个边距?我试过:

  • 添加[above left,inner sep=-1, outer sep=-3]到 tikz\fill锚点
  • \noindent在文档开头添加
  • 定义\setlength{\parindent}{0pt}停止段落缩进

以下是一个最简单的例子:

\documentclass[a4paper,12pt]{memoir} % Font and paper size

% LOAD PACKAGES
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[usenames,dvipsnames]{xcolor} % Required for custom colours
\usepackage{tikz} % Required for tikz drawing
\usepackage[ %top=0.5cm,right=1cm,bottom=1cm,left=1cm,
            margin=1cm, %
            showframe, %
            nohead, %
            nofoot, %
            nomarginpar %
            ]{geometry}
\pagestyle{empty} % Disable all page numbering



% DEFINE COLORS
\definecolor{sidecolor}{HTML}{E7E7E7}

% DEFINE LENGTHS
\newlength{\sidecolwd} %width of side column background
\setlength{\sidecolwd}{0.3\paperwidth}
\newlength{\sidetxtwd} %width of side column text
\setlength{\sidetxtwd}{0.25\textwidth}
\newlength{\maintxtwd} %width of main column text
\setlength{\maintxtwd}{0.65\textwidth}
\setlength{\parindent}{0pt} % Stop paragraph indentation

%BEGIN DOCUMENT
\begin{document}
    \noindent

%DRAW LEFT COLUMN
%if I comment this out, the text is aligned at the top as I want it
\begin{tikzpicture}[ remember picture, %
                        overlay, %
                        ] %

    \fill[sidecolor]
    ([above left,inner sep=-1, outer sep=-3]current page.north west)
    rectangle
    ([xshift=\sidecolwd]current page.south west);
\end{tikzpicture}



%TEXT LEFT COLUMN
\begin{minipage}[t]{\sidetxtwd}

Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
\end{minipage}
\hfill
%TEXT RIGHT COLUMN
\begin{minipage}[t]{\maintxtwd}

    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
\end{minipage}

\end{document}

这会导致文本顶部出现边距。如果我注释掉 tikzpicture 环境,则没有边距。

我正在使用 TeXLive 2016 发行版和 pdfLatex 编译器。

谢谢你!

编辑 5.9.16:使用 tikzpicture 的 pdf 版本图片。边距添加到顶部,不是我想要的。 添加 tikzpicture 时的 pdf

不带 tikzpicture 的 pdf 版本图片。没有边距,正如我想要的那样。 不带 tikzpicture 的 pdf

答案1

您在 和小页面之间有一个段落分隔符(空行)tikzpicture,因此小页面从第二行开始。添加一些内容%来修复它。

\documentclass[a4paper,12pt]{memoir} % Font and paper size

% LOAD PACKAGES
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[usenames,dvipsnames]{xcolor} % Required for custom colours
\usepackage{tikz} % Required for tikz drawing
\usepackage[ %top=0.5cm,right=1cm,bottom=1cm,left=1cm,
            margin=1cm, %
            showframe, %
            nohead, %
            nofoot, %
            nomarginpar %
            ]{geometry}
\pagestyle{empty} % Disable all page numbering



% DEFINE COLORS
\definecolor{sidecolor}{HTML}{E7E7E7}

% DEFINE LENGTHS
\newlength{\sidecolwd} %width of side column background
\setlength{\sidecolwd}{0.3\paperwidth}
\newlength{\sidetxtwd} %width of side column text
\setlength{\sidetxtwd}{0.25\textwidth}
\newlength{\maintxtwd} %width of main column text
\setlength{\maintxtwd}{0.65\textwidth}
\setlength{\parindent}{0pt} % Stop paragraph indentation

%BEGIN DOCUMENT
\begin{document}
    \noindent

%DRAW LEFT COLUMN
%if I comment this out, the text is aligned at the top as I want it
\begin{tikzpicture}[ remember picture, %
                        overlay, %
                        ] %

    \fill[sidecolor]
    ([above left,inner sep=-1, outer sep=-3]current page.north west)
    rectangle
    ([xshift=\sidecolwd]current page.south west);
\end{tikzpicture}%
%
%
%
%TEXT LEFT COLUMN
\begin{minipage}[t]{\sidetxtwd}

Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
\end{minipage}
\hfill
%TEXT RIGHT COLUMN
\begin{minipage}[t]{\maintxtwd}

    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
\end{minipage}

\end{document}

在此处输入图片描述

答案2

您可以改变填充侧边栏的方式,作为一种不太复杂的解决方案:

\AddToShipoutPictureBG*{\AtPageLowerLeft{\color{gray!20}\rule{.3\paperwidth}{\paperheight}}}

因此它将是这样的: 在此处输入图片描述

\documentclass[a4paper,12pt]{memoir} % Font and paper size

% LOAD PACKAGES
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[usenames,dvipsnames]{xcolor} % Required for custom colours
\usepackage{tikz} % Required for tikz drawing
\usepackage[ %top=0.5cm,right=1cm,bottom=1cm,left=1cm,
            margin=1cm, %
            showframe, %
            nohead, %
            nofoot, %
            nomarginpar %
            ]{geometry}
\pagestyle{empty} % Disable all page numbering



% DEFINE COLORS
\definecolor{sidecolor}{HTML}{E7E7E7}

% DEFINE LENGTHS
\newlength{\sidecolwd} %width of side column background
\setlength{\sidecolwd}{0.3\paperwidth}
\newlength{\sidetxtwd} %width of side column text
\setlength{\sidetxtwd}{0.25\textwidth}
\newlength{\maintxtwd} %width of main column text
\setlength{\maintxtwd}{0.65\textwidth}
\setlength{\parindent}{0pt} % Stop paragraph indentation
\usepackage{xcolor}
\usepackage{eso-pic}
%BEGIN DOCUMENT
\begin{document}
    \noindent

%DRAW LEFT COLUMN
%if I comment this out, the text is aligned at the top as I want it
% \begin{tikzpicture}[ remember picture, %
%                         overlay, %
%                         ] %
%     \fill[sidecolor]
%     ([above left,inner sep=-1, outer sep=-3]current page.north west)
%     rectangle
%     ([xshift=\sidecolwd]current page.south west);
% \end{tikzpicture}
\AddToShipoutPictureBG*{\AtPageLowerLeft{%
  \color{gray!20}\rule{.3\paperwidth}{\paperheight}}}


%TEXT LEFT COLUMN
\begin{minipage}[t]{\sidetxtwd}
XDies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
Dies ist ein langer TExt langer text lalala
\end{minipage}
\hfill
%TEXT RIGHT COLUMN
\begin{minipage}[t]{\maintxtwd}
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
    Dies ist ein langer TExt langer text lalala
\end{minipage}

\end{document}

相关内容