使用 eso-pic 和 scrlttr2 重叠文本

使用 eso-pic 和 scrlttr2 重叠文本

我正在使用eso-pic注释这封信,使用scrlttr2,由 daleif 先前的回答针对这个问题“在处理后的文档顶部为文章类写入 TeX 文件名”。如您所见,文本重叠存在一些问题。解决这个问题最简单的方法是什么?

该注释由 Mercurial 生成,代表最后一次提交的时间戳(参见 在 TeX 文档中嵌入 Mercurial 版本控制信息),但我将其硬连线,因为这个问题与 Mercurial 没有任何关系。

\documentclass[foldmarks=true,foldmarks=blmtP,fromalign=false,version=last]{scrlttr2}
\usepackage{fouriernc}
% Add code to annotate file with file name and hash of last hg cset to change the file.                                                          
\usepackage{eso-pic,picture}
\AddToShipoutPictureBG*{
  % change reference point to page upper left                                                                                                    
  \AtPageUpperLeft{
    \put(\oddsidemargin+1in+0.5\textwidth,-1cm){%                                                                                                
      \makebox[0pt][c]{\textbf{shaw.tex} 09da3da30168bc8301b68b894b0414cd87ba0a16 2014-08-30 18:13 +0530 } }
  }
}
\usepackage[T1]{fontenc}
\begin{document}
\setkomavar{fromname}{H. G. Wells}
\setkomavar{fromaddress}{Spade House\\ 5281 Radnor Cliff Crescent (West Side)\\ Sandgate, Kent}

\def\today{1st January, 1895}
\begin{letter}{
    George Bernard Shaw,\\
    Shaw's Corner,\\
    Bibbs Hall Lane,\\
    Ayot St. Lawrence, Hertfordshire\\}

\opening{Dear Shaw,}

You suck!

\closing{Sincerely}
\end{letter}
\end{document}

更新:

感谢史蒂文的有益回复。

我记得上次我问过关于注释 LaTeX 文件的问题, 有哪些方法可以将内容绝对定位在页面上? 例如,有人区分了在 TeX 上书写而不考虑已经存在的内容(这意味着它可能会覆盖内容),或将其放在“提供的”位置,例如页面顶部。我不记得细节了。有人有关于此内容的链接吗?

答案1

我在有哪些方法可以将内容绝对定位在页面上?解决您的问题。它使用everypage而不是eso-pic(请参阅下面的eso-pic版本)。请注意,正如所写,\atxy只会将上层文本放置在调用它的页面上。但是,如果您希望在每一页上都显示上层文本,则可以将 更改\AddThispageHook\AddEverypageHook

\documentclass[foldmarks=true,foldmarks=blmtP,fromalign=false,version=last]{scrlttr2}
\usepackage{fouriernc}
% Add code to annotate file with file name and hash of last hg cset to change the file.                                                          
%\usepackage{eso-pic,picture}
\usepackage[T1]{fontenc}
%
\usepackage{everypage}
\usepackage{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
 \AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
\atxy{.5\paperwidth}{0.5cm}{\makebox[0pt]{%
\textbf{shaw.tex} 09da3da30168bc8301b68b894b0414cd87ba0a16 2014-08-30 18:13 +0530}}
\begin{document}
\setkomavar{fromname}{H. G. Wells}
\setkomavar{fromaddress}{Spade House\\ 5281 Radnor Cliff Crescent (West Side)\\ Sandgate, Kent}

\def\today{1st January, 1895}
\begin{letter}{
    George Bernard Shaw,\\
    Shaw's Corner,\\
    Bibbs Hall Lane,\\
    Ayot St. Lawrence, Hertfordshire\\}

\opening{Dear Shaw,}

You suck!

\closing{Sincerely}
\end{letter}
\end{document}

在此处输入图片描述

可以通过将 OP 原始 MWE 中的 更改为 来获得类似的解决方案eso-pic,如下所示-1cm-0.5cm\put

\documentclass[foldmarks=true,foldmarks=blmtP,fromalign=false,version=last]{scrlttr2}
\usepackage{fouriernc}
% Add code to annotate file with file name and hash of last hg cset to change the file.                                                          
\usepackage{eso-pic,picture}
\AddToShipoutPictureBG*{
  % change reference point to page upper left                                                                                                    
  \AtPageUpperLeft{
    \put(\oddsidemargin+1in+0.5\textwidth,-0.5cm){%                                                                                                
      \makebox[0pt][c]{\textbf{shaw.tex} 09da3da30168bc8301b68b894b0414cd87ba0a16 2014-08-30 18:13 +0530 } }
  }
}
\usepackage[T1]{fontenc}
\begin{document}
\setkomavar{fromname}{H. G. Wells}
\setkomavar{fromaddress}{Spade House\\ 5281 Radnor Cliff Crescent (West Side)\\ Sandgate, Kent}

\def\today{1st January, 1895}
\begin{letter}{
    George Bernard Shaw,\\
    Shaw's Corner,\\
    Bibbs Hall Lane,\\
    Ayot St. Lawrence, Hertfordshire\\}

\opening{Dear Shaw,}

You suck!

\closing{Sincerely}
\end{letter}
\end{document}

相关内容