scrlttr2 y geometría: primera cabeza desplazada hacia la derecha

scrlttr2 y geometría: primera cabeza desplazada hacia la derecha

Estoy usando la clase scrlttr2de KOMA-Script con un diseño de página personalizado a través del geometrypaquete. Desafortunadamente, esto resulta en un pequeño desplazamiento horizontal hacia la derecha de mi encabezado. Aquí hay un MWE:

\documentclass
%---------------------------------------------------------------------------
  [fontsize=11pt,%%          Font size
%---------------------------------------------------------------------------
% Type area
   paper=a4,%%               Sheet size
   enlargefirstpage=on,%%    Enlarge the first page
   pagenumber=headright,%%   Page number on the top right of the header
%---------------------------------------------------------------------------
% Layout
   headsepline=on,%%         Line below the page number
   parskip=half,%%           Space between paragraphs
%---------------------------------------------------------------------------
% Letterhead and address
   fromalign=right,%%        Positioning of the letterhead
   fromphone=on,%%           Phone number in the sender's area
   fromrule=off,%%           Line below the sender's area (aftername, afteraddress)
   fromfax=off,%%            Fax number
   fromemail=off,%%          Mail address
   fromurl=off,%%            Homepage
   fromlogo=off,%%           Company logo
   addrfield=off,%%           Adress field for window envelopes
   backaddress=off,%%         ... with sender address
   subject=beforeopening,%%  Positioning of the subject
   locfield=narrow,%%        Additional field for the sender
   foldmarks=off,%%           Folding mark
   numericaldate=off,%%      Numerical date
   refline=narrow,%%         Spread of the reference line in the type area
   firstfoot=false,%
%---------------------------------------------------------------------------
% Formatting
   draft=false%%                Draft mode
]{scrlttr2}
%---------------------------------------------------------------------------


\usepackage{geometry}
\geometry{a4paper,left=16mm,right=20mm,bottom=25mm,top=23mm,marginparsep=0mm,marginparwidth=0mm,showframe}

%---------------------------------------------------------------------------
\begin{document}
%---------------------------------------------------------------------------
\makeatletter
\@setplength{sigbeforevskip}{0em} % space before signature, in case you write bigger than 12pt :-]
\@setplength{refvpos}{20mm}%\useplength{toaddrvpos}}
\@setplength{firstfootvpos}{285mm} % vertical footer position from top of page
\@setplength{firstheadwidth}{\textwidth}
\makeatother
%---------------------------------------------------------------------------


\setkomavar{signature}{Full name}

%---------------------------------------------------------------------------
\firsthead{
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\textbf{Name}\\
    Address
\end{minipage}%
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\flushright
\begin{tabular}{ll}
Phone & xxx\\
Email & xxx
\end{tabular}

\end{minipage}
\rule{\textwidth}{2pt}
}

\setkomavar{date}{\today}
%---------------------------------------------------------------------------
\begin{letter}{}

\opening{Dear x:}


\closing{Sincerely,}

\end{letter}
\end{document}

y una captura de pantalla del resultado:

captura de pantalla resultante

¿Cómo puedo alinear la regla negra con el texto a continuación?

Respuesta1

Bueno, en tu código hay dos problemas y falta una definición de longitud:

  1. \firstheadEn su lugar, utilice el comando \setkomavar{firsthead}{(¿¡estoy seguro de que recibió una advertencia sobre eso !?), porque el comando está depreciado.
  2. Debe agregar @{}al comienzo de la tabla: \begin{tabular}{ll@{}}para que el texto esté exactamente en el extremo derecho de la línea.
  3. Necesitas agregar \@setplength{firstheadhpos}{16mm}porque usaste left=16mmen \geometry.

Entonces con el código completo:

\documentclass
%---------------------------------------------------------------------------
  [fontsize=11pt,%%          Font size
%---------------------------------------------------------------------------
% Type area
   paper=a4,%%               Sheet size
   enlargefirstpage=on,%%    Enlarge the first page
   pagenumber=headright,%%   Page number on the top right of the header
%---------------------------------------------------------------------------
% Layout
   headsepline=on,%%         Line below the page number
   parskip=half,%%           Space between paragraphs
%---------------------------------------------------------------------------
% Letterhead and address
   fromalign=right,%%        Positioning of the letterhead
   fromphone=on,%%           Phone number in the sender's area
   fromrule=off,%%           Line below the sender's area (aftername, afteraddress)
   fromfax=off,%%            Fax number
   fromemail=off,%%          Mail address
   fromurl=off,%%            Homepage
   fromlogo=off,%%           Company logo
   addrfield=off,%%           Adress field for window envelopes
   backaddress=off,%%         ... with sender address
   subject=beforeopening,%%  Positioning of the subject
   locfield=narrow,%%        Additional field for the sender
   foldmarks=off,%%           Folding mark
   numericaldate=off,%%      Numerical date
   refline=narrow,%%         Spread of the reference line in the type area
   firstfoot=false,%
%---------------------------------------------------------------------------
% Formatting
   draft=false%%                Draft mode
]{scrlttr2}
%---------------------------------------------------------------------------


\usepackage{geometry}
\geometry{a4paper,left=16mm,right=20mm,bottom=25mm,top=23mm,marginparsep=0mm,marginparwidth=0mm,showframe}


%---------------------------------------------------------------------------
\begin{document}
%---------------------------------------------------------------------------
\makeatletter
\@setplength{sigbeforevskip}{0em} % space before signature, in case you write bigger than 12pt :-]
\@setplength{refvpos}{20mm}%\useplength{toaddrvpos}}
\@setplength{firstfootvpos}{285mm} % vertical footer position from top of page
\@setplength{firstheadwidth}{\textwidth}
\@setplength{firstheadhpos}{16mm} % <===================================



\makeatother
%---------------------------------------------------------------------------


\setkomavar{signature}{Full name}

%---------------------------------------------------------------------------
\setkomavar{firsthead}{% <==============================================
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\textbf{Name}\\
    Address
\end{minipage}%
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\flushright
\begin{tabular}{ll@{}} % <==============================================
Phone & xxx\\
Email & xxx
\end{tabular}

\end{minipage}
\rule{\textwidth}{2pt}%
}

\setkomavar{date}{\today}
%---------------------------------------------------------------------------
\begin{letter}{}

\opening{Dear x:}

\closing{Sincerely,}

\end{letter}
\end{document}

obtienes el resultado:

ingrese la descripción de la imagen aquí

Respuesta2

De forma predeterminada, la pseudolongitud firstheadhposestá establecida en \maxdimen. Esto da como resultado un encabezado horizontal centrado en el papel. Pero su área de texto no está centrada horizontalmente con respecto a la página. Por lo tanto, debe establecer la pseudolongitud firstheadhposen el mismo valor que el margen izquierdo.

\documentclass[
  fontsize=11pt,
  parskip=half,
  addrfield=off,
  firstfoot=false
]{scrlttr2}
\usepackage{geometry}
\newcommand*\myleftmargin{16mm}% <- added
\geometry{
  left=\myleftmargin,% <- changed
  right=20mm,bottom=25mm,top=23mm,marginparsep=0mm,marginparwidth=0mm,showframe}

\setplength{sigbeforevskip}{0em}
\setplength{refvpos}{20mm}
\setplength{firstfootvpos}{285mm}
\setplength{firstheadwidth}{\textwidth}

\setplength{firstheadhpos}{\myleftmargin}% <- added

%---------------------------------------------------------------------------
\begin{document}
\setkomavar{signature}{Full name}
\setkomavar{firsthead}{% <- remove spurious space and changed syntax
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\textbf{Name}\\
    Address
\end{minipage}%
\begin{minipage}{0.5\textwidth}
\fontfamily{lmss}\selectfont\footnotesize
\renewcommand{\baselinestretch}{0.8}
\raggedleft
\begin{tabular}{ll@{}}% <- changed to align the last column with the rule
Phone & xxx\\
Email & xxx
\end{tabular}%
\end{minipage}
\par
\rule{\textwidth}{2pt}%
}

\begin{letter}{}
\opening{Dear x:}
\closing{Sincerely,}
\end{letter}
\end{document}

Resultado:

captura de pantalla del resultado

Tenga en cuenta que eliminé las cosas no relacionadas y agregué algunos cambios para usar la sintaxis actualizada para la firstheadvariable. Con una versión actualizada de KOMA-Script (la actual es 3.26), puede utilizar \setplengthen su lugar \@setplength.

información relacionada