我怎样才能摆脱/par 之前的垂直空间

我怎样才能摆脱/par 之前的垂直空间

我一直在尝试精确对齐我的文档。我遇到了一个奇怪的问题。我试图实现的是:1) 我想要有一个顶部页面标题 - 这是用 tikz 绘制的 2) 我希望能够精确设置到下一个实体(文本或表格)的距离 3) 所以我已经开始减少距离,这样我就可以干净利落地开始了。

但我无法删除第一个 \par 之前的空格:

\setlength{\parindent}{0em}
\setlength{\parskip}{0.0em}
\setlength{\topskip}{0.0em}
\setlength{\parsep}{0.0em}
\setlength{\partopsep}{0.0em}
\setlength{\topsep}{0.0em}
\def\arraystretch{0}%
\setlength\tabcolsep{0pt}
\begin{document}
  {\Large\bfseries \cvHeader{}{Header h}{header r}  }
  \par
  Why is there space above me?
  \par
  ...

呈现方式如下(请注意,编辑器中的背景是深色的):该死的空间!

我已经尝试了所有能找到的适用于 \par 间距的设置,但我不确定问题是什么。

这是我绘制标题的方式:

\newcommand{\cvHeader}[3]{
  %First thing to do, Set the keys 
  %from the single parameter input
  \setkeys[CV]{top}{#1}
  \noindent
  \begin{tikzpicture}
    \color{\cvBgColor}
    \filldraw
    (0,0) rectangle (\paperwidth,\cvHeight);
    \draw node[color=\cvTextColor,anchor=west] at (\cvTextIndent,\cvHeight/2) {#2};
    \draw node[color=\cvTextColor,anchor=east] at (\paperwidth - \cvTextIndent,\cvHeight/2) {#3};
  \end{tikzpicture}
}

奇怪的是,下一个 \par 之前没有任何空格,这可能指向绘图 - 但我也检查了那里的框。

我设法克服这个问题的唯一方法是设置 \vspace{-0.4cm},但这不是一个强大的解决方案。

非常感谢您的帮助!!

答案1

它不是垂直空间,而是段落的水平线,其中包含来自您源代码的空格字符,我用它们注释掉%%%space

\documentclass{article}
\usepackage{tikz}


\setlength{\parindent}{0em}
\setlength{\parskip}{0.0em}
\setlength{\topskip}{0.0em}
\setlength{\parsep}{0.0em}
\setlength{\partopsep}{0.0em}
\setlength{\topsep}{0.0em}
\def\arraystretch{0}%
\setlength\tabcolsep{0pt}

\def\cvBgColor{red}
\def\cvTextColor{blue}
\def\cvHeight{30pt}
\def\cvTextIndent{0pt}
\newcommand{\cvHeader}[3]{%%%%%%%%%space
  %First thing to do, Set the keys 
  %from the single parameter input
%  \setkeys[CV]{top}{#1}
  \noindent
  \begin{tikzpicture}
    \color{\cvBgColor}%%%space
    \filldraw
    (0,0) rectangle (\paperwidth,\cvHeight);
    \draw node[color=\cvTextColor,anchor=west] at (\cvTextIndent,\cvHeight/2) {#2};
    \draw node[color=\cvTextColor,anchor=east] at (\paperwidth - \cvTextIndent,\cvHeight/2) {#3};
  \end{tikzpicture}%%%% space
}
\begin{document}
  {\Large\bfseries \cvHeader{}{Header h}{header r}}%
  \par
  Why is there space above me?
  \par

\end{document}

标题行太满,因为它很\paperwidth宽,但是从文本块的边缘而不是页面的边缘开始,您可能需要添加负空间来考虑左边距。

在此处输入图片描述

相关内容