\hspace 在表格前表现不佳

\hspace 在表格前表现不佳

我发现一个问题,即一个\hspace行为与我预期的不一样。我给了它 -5em,但它只编译了大约 -4.5em。更改字体系列会改变错误的数量,但我认为字体系列中的错误在 em 单位方面是恒定的。

\documentclass[extrafontsizes, 48pt]{memoir}
\usepackage[left=7cm, right=0cm]{geometry}

\begin{document}
\ttfamily
\newlength\savetabcolsep\setlength\savetabcolsep\tabcolsep\setlength\tabcolsep{0pt}
\newlength\leftitemspace\setlength\leftitemspace{5em}

Foo

\begin{tabular}{|p{\leftitemspace}|p{\linewidth}}
Foo & Bar\\
Foo 2 & Bar 2\\
Foo 3 & Bar3
\end{tabular}

\rule{1em}{1pt}

\hspace*{-\leftitemspace}      % here is the problem
\begin{tabular}{|p{\leftitemspace}|p{\linewidth}}
Foo & Bar\\
Foo 2 & Bar 2\\
\rule{\leftitemspace}{1pt} & Bar 3
\end{tabular}

\hspace{-\leftitemspace}\rule{\leftitemspace}{1pt}Bar


\setlength\tabcolsep\savetabcolsep
\end{document}

在下图中,我尝试水平对齐表格的垂直线:

hspace 水平对齐问题

答案1

\hspace*{-\leftitemspace}% <<<<<<<<<<<<<<<<< Space removed
\begin{tabular}{|p{\leftitemspace}|p{\linewidth}}

在此处输入图片描述

请注意,示例文件中的行不是左对齐的,因为每行都开始一个新段落。如果您想让内容从文本区域的左边界开始,请添加\noindent每个段落或\parindent=0pt通过将其添加到序言中为整个文档进行设置。

\noindent
\hspace*{-\leftitemspace}% <<<<<<<<<<<<<<<<< Space removed
\begin{tabular}{|p{\leftitemspace}|p{\linewidth}}

在此处输入图片描述

\parindent=0pt
\begin{document}

在此处输入图片描述

我建议在开发文档布局时将该选项添加showframe到包中。然后文本/页眉/页脚/边距区域将被指示。geometry

\usepackage[left=7cm, right=0cm,showframe]{geometry}

在此处输入图片描述

相关内容