我一直在尝试精确对齐我的文档。我遇到了一个奇怪的问题。我试图实现的是: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
宽,但是从文本块的边缘而不是页面的边缘开始,您可能需要添加负空间来考虑左边距。