Как избавиться от лишнего отступа перед таблицей в \extratile класса scrreprt?

Как избавиться от лишнего отступа перед таблицей в \extratile класса scrreprt?

Если я использую следующий документ scrreprt, исходная таблица tabularx будет выровнена по левой границе текстовой области:

\documentclass[draft=true]{scrreprt}
\usepackage{tabularx}
\usepackage{xifthen}
\usepackage{showframe}

\newcommand*{\BTDTitleTable}{%
  \noindent%
  \begin{tabularx}{\textwidth}{|p{0.14\textwidth}|p{0.14\textwidth}|X|p{0.14\textwidth}|p{0.14\textwidth}|}%
    \hline%
    a%
    & b%
    & c%
    & d%
    & f \\%
    \hline%
    1%
    & 2%
    & 3%
    & 4%
    & 5 \\%
    \hline%
  \end{tabularx}%
  \par\vspace{0.6cm}%
}%

\newcommand*{\BTDSignatureAndDate}[3][Foobar]{%
  \par\noindent\vspace{1.4cm}%
  \par\noindent\makebox[0cm][l]{{\large {#1}:}}%
  \par\noindent\vspace{0.6cm}%
  \par\noindent\makebox[0.224\textwidth][l]{\hrulefill}      \hfill\makebox[0.67\textwidth][l]{\hrulefill}%
  \ifthenelse{\isempty{#3}}%
            {\par\noindent\makebox[0.224\textwidth][l]{\small Date}    \hfill\makebox[0.67\textwidth][l]{\small #2}}%
            {\par\noindent\makebox[0.224\textwidth][l]{\small Date}    \hfill\makebox[0.67\textwidth][l]{\small #2, #3}}%
}%

\KOMAoption{twoside}{true}

\begin{document}
  \pagestyle{empty}
  \BTDTitleTable
  \BTDSignatureAndDate{Foobar}{Foo Baz}
\end{document}

В результате получается следующий фрагмент PDF-файла (с использованием как xelatex, так и pdflatex):

Никаких дополнительных отступов в обычном документе

Заменим документ выше следующим кодом, сохранив почти ту же самую преамбулу (мне пришлось изменить ширину таблицы на «0.99\textwidth», чтобы избежать предупреждения):

\begin{document}
  \extratitle{
    \BTDTitleTable
    \BTDSignatureAndDate{Foobar}{Foo Baz}
  }
\title{Not of interest}
\author{Foo bar}
\maketitle[-1]
\end{document}

В результате получается следующий фрагмент PDF-файла:

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

Обратите внимание на дополнительный отступ около 1% от ширины текста с левой стороны таблицы.

Как мне избавиться от этого лишнего отступа? И почему он вообще добавляется \extratitle?

решение1

Есть лишний фиктивный пробел (изменение строки). Разместите %сразу после скобки, \extratitleкак в \extratitle{%:

Полный пример (теперь вы можете использовать полный вариант \textwidth):

\documentclass[draft=true]{scrreprt}
\usepackage{tabularx}
\usepackage{xifthen}
\usepackage{showframe}

\newcommand*{\BTDTitleTable}{%
  \noindent%
  \begin{tabularx}{\textwidth}{|p{0.14\textwidth}|p{0.14\textwidth}|X|p{0.14\textwidth}|p{0.14\textwidth}|}%
    \hline%
    a%
    & b%
    & c%
    & d%
    & f \\%
    \hline%
    1%
    & 2%
    & 3%
    & 4%
    & 5 \\%
    \hline%
  \end{tabularx}%
  \par\vspace{0.6cm}%
}%

\newcommand*{\BTDSignatureAndDate}[3][Foobar]{%
  \par\noindent\vspace{1.4cm}%
  \par\noindent\makebox[0cm][l]{{\large {#1}:}}%
  \par\noindent\vspace{0.6cm}%
  \par\noindent\makebox[0.224\textwidth][l]{\hrulefill}      \hfill\makebox[0.67\textwidth][l]{\hrulefill}%
  \ifthenelse{\isempty{#3}}%
            {\par\noindent\makebox[0.224\textwidth][l]{\small Date}    \hfill\makebox[0.67\textwidth][l]{\small #2}}%
            {\par\noindent\makebox[0.224\textwidth][l]{\small Date}    \hfill\makebox[0.67\textwidth][l]{\small #2, #3}}%
}%

\KOMAoption{twoside}{true}


\begin{document}
  \extratitle{%
    \BTDTitleTable
    \BTDSignatureAndDate{Foobar}{Foo Baz}
  }
\title{Not of interest}
\author{Foo bar}
\maketitle[-1]
\end{document}

Результат:

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

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