\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}

ここに画像の説明を入力してください

関連情報