控制页面上对象的精确位置

控制页面上对象的精确位置

我在服务器 (CentOS 5) 上使用 Linux,使用 LaTeX 生成一页 PDF 报告。LaTeX 发行版相当老旧 -latex --version返回以下内容:

pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4)
kpathsea version 3.5.4
Copyright (C) 1997-2004 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Kpathsea is copyright (C) 1997-2004 Free Software Foundation, Inc.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfeTeX copyright and
the GNU General Public License.
For more information about these matters, see the files
named COPYING and the pdfeTeX source.
Primary author of pdfeTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Kpathsea written by Karl Berry and others.

因此,有几个软件包对我来说不可用(wallpaper例如)。我制作了一个包含页眉和页脚的 pdf 文件,我将其作为图形插入到页面的顶部和底部,并在页面的中心部分插入一些图像。有没有办法让我使用坐标指定对象的位置,而不是让 LaTeX 选择定位?在大多数情况下,我当前的布局令人满意,但我想确保我的页脚锁定在页面的底部(例如)。

我不想在服务器上安装最新版本的 LaTeX,因为大多数东西目前都可以运行,只是需要进行一些微调。

答案1

在页面的标题中放置一个\begin{picture}(0,0),以便它在已知位置形成一个零尺寸的框,然后您可以\put在相对于该框的精确坐标处放置文本或图形。

我在回答中有一个这种技术的例子

在 LaTeX 中实现基于线条的企业设计

答案2

仅用一个小例子来扩展另外两个答案:

\documentclass{article}
\usepackage[left=1in,right=1in]{geometry}
\usepackage{xcolor,rotating,picture,lipsum}
\makeatletter

\def\even@samplepage{%
 \begin{picture}(0,0)
   \put(\Xeven,\Yeven){\turnbox{90}{\Huge \textcolor{\watermark@textcolor}{\watermark@text}}}
\end{picture}
}
%% Define a macro to print SAMPLE PAGE IN THE MARGIN
\def\odd@samplepage{%
 \begin{picture}(0,0)
   \put(\Xodd,\Yodd){\turnbox{90}{\Huge \textcolor{\watermark@textcolor}{\watermark@text}}}
 \end{picture}
}

\def\watermarktext#1{\gdef\watermark@text{\fontfamily{phv}\selectfont#1}}
\def\watermarktextcolor#1{\gdef\watermark@textcolor{#1}}
\watermarktext{PRE-PRINT}
\watermarktextcolor{purple}
% fix headings
\def\ps@samplepage{\let\@mkboth\@gobbletwo
 \let\@oddhead\odd@samplepage\def\@oddfoot{\reset@font\hfil\thepage}
 \let\@evenhead\even@samplepage\def\@evenfoot{\reset@font\thepage\hfil}}
%%
\def\Xodd{500}
\def\Xeven{-70}\def\Yeven{-810}
\def\Yeven{-\expandafter\strip@pt\textheight}
\let\Yodd\Yeven
\makeatother
\begin{document}
\thispagestyle{samplepage}
\lipsum
\end{document}

在此处输入图片描述

正如其他海报所提到的,重要的部分是使用环境picture

 \def\even@samplepage{%
 \begin{picture}(0,0)
 \put(\Xeven,\Yeven){\turnbox{90}{\Huge \textcolor{\watermark@textcolor}   {\watermark@text}}}
 \end{picture}
 }

使用textpos包:

 \documentclass{article}
 \usepackage[absolute]{textpos}
 \setlength{\TPHorizModule}{1mm}%
 \setlength{\TPVertModule}{1mm}%
 \begin{document}
 \begin{textblock}{200}(50,30)%
   This is a test
 \end{textblock}%
 \end{document}

答案3

textpos这个包可能就是您正在寻找的。

答案4

http://www.texample.net/tikz/examples/exam-sheet/有一个非常好的 tikz 解决方案,带有可用的代码。它允许讲师将名字隐藏在角落中,直到评分完成。它非常适合单页测验。

相关内容