\hspace неэффективен перед столом

\hspace неэффективен перед столом

Я обнаружил проблему в том, что an \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}

введите описание изображения здесь

Связанный контент