![如何在不使用 fancyhdr 的情况下在页面右上角添加文本](https://linux22.com/image/241087/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20fancyhdr%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%E9%A1%B5%E9%9D%A2%E5%8F%B3%E4%B8%8A%E8%A7%92%E6%B7%BB%E5%8A%A0%E6%96%87%E6%9C%AC.png)
我想将一段文本放入文档的右上角(使用 article 类)。文档格式的规范如下非常非常详细,我花了大约两天的时间才把它们弄好。
我不想在顶部画一条线,也不想做任何会改变边距的事情。事实上,我宁愿完全避免使用任何额外的包。
有什么建议么?
答案1
使用atbegshi
保证文本块不会以任何方式被修改,因为它的作用是“覆盖”,可以这么说。
\documentclass[a4paper]{article}
\usepackage{atbegshi,picture}
\usepackage{lipsum}
\AtBeginShipout{\AtBeginShipoutUpperLeft{%
\put(\dimexpr\paperwidth-1cm\relax,-1.5cm){\makebox[0pt][r]{\framebox{Copyright DTV}}}%
}}
\begin{document}
\lipsum
\end{document}
该文件的每一页都会带有版权声明。
答案2
这是一个使用背景包裹:
\documentclass{article}
\usepackage{background}
\usepackage{lipsum}% just to generate filler text
\SetBgContents{some additional text}
\SetBgScale{1}
\SetBgAngle{0}
\SetBgPosition{current page.north east}
\SetBgHshift{-2cm}
\SetBgVshift{-1cm}
\begin{document}
\lipsum[1-3]
\end{document}
答案3
这是一个使用eso-pic
包裹。
\documentclass{article}
\usepackage{eso-pic}% http://ctan.org/pkg/eso-pic
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\AddToShipoutPictureBG*{%
\AtPageUpperLeft{%
\hspace{\paperwidth}%
\raisebox{-\baselineskip}{%
\makebox[0pt][r]{Here is some interesting text}
}}}%
\lipsum[1-3]
\end{document}
\AddToShipoutPictureBG
会打印一些东西每一个页面,而带星号的版本\AddToShipoutPictureBG*
仅将其打印在当前页面上。可以使用间距命令在预定义位置(如\AtPageUpperLeft
和类似)的帮助下进行放置。请参阅包装文档了解更多信息。
eso-pic
还提供将内容放置在前景中以与现有页面布局叠加(与上面建议的将某些内容放置在背景层中相反)使用\AddToShipoutPictureFG
或\AddToShipoutPictureFG*
具有与上述类似的内涵。
答案4
这里有一个选项textpos
,这个过程是自动化的,这样文本就会总是即使页面形状发生变化,仍停留在右上角
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = xelatex
\documentclass[UTF8]{article}
\usepackage{lipsum}
\usepackage[a4paper, twoside]{geometry}
\usepackage{pgf}
\usepackage[absolute, overlay]{textpos}
\setlength{\TPHorizModule}{1.0 pt}
\textblockorigin{\paperwidth}{0.0 pt}
%% set the origin used by 'textpos' to be top right corner of page
\begin{document}
\title{title}
\date{\today}
\author{author}
\pgfmathwidth{"top right corner at page \thepage"}
%% the width of text is stored in '\pgfmathresult'
\begin{textblock}{\pgfmathresult}[1, 0](0, 0)
%% value of '\pgfmathresult' is used to set the width of text block
%% '[1, 0]' sets the anchor point of text block to be its top right corner
%% '(0, 0)' sets the anchor point right at the origin which is set by '\textblockorigin' in the preamble
\noindent
top right corner at page \thepage
\end{textblock}
\maketitle
\lipsum[7]
\end{document}
这是生产出来的