我想在 LaTeX 中实现基于线条的企业设计。这个问题是我之前问题的后续问题如何编写符合企业设计的报告模板。
我已经研究过建议的复杂报告模板美国陆军工程兵团报告并发现它非常有用。但是仍有一些问题。
页面看起来应该是这样的
徽标出现在每一页上,包含日期、项目信息、地址等的页眉部分应该只出现在第一页上。我想也许这可以定义一个新的环境。页眉部分后面的水平线应该与页眉的长度一起浮动。
第一页的页脚不同,并且第一页的页脚也可以更高,因为第一页上有很多信息。
我不确定是否应该将第一页作为标题页,因为我想为更大的报告创建带有徽标等的不同、更具装饰性的标题页。
所以我的问题是:如何生成这些线条,使它们出现在每一页上,并且不干扰文本?我看到问题创建简单框架框架是如何完成的,这似乎与我的问题类似。但是我不想在每个新页面上重复我的线条绘制代码。
有没有关于从哪里开始的一般建议?应该用纯 TeX 还是纯 LaTeX 来实现?有没有好的 TeX 或 LaTeX 编程入门教程?我使用 LaTeX 多年,并用它撰写了我的博士论文,但我只用过它,加载了一些软件包等,从来没有写过更复杂的东西。
答案1
每页上应该包含的内容应放置在页眉或页脚中(\@oddhead
通常)。一个有用的技巧是放置一个\begin{picture}(0,0)
环境,这将产生一个零尺寸的框,但其内容可以溢出整个页面,并且它们在页眉中将绝对定位。因此,您可以使用\put
框架(使用 epipicture 模式框命令或更精美的包)以及类似地\put
将\includegraphics
徽标放置在精确坐标处。(除非您的设计规范已经以点为单位给出,否则在测量此类事物时,设置\unitlength
为1mm
或其他“真实世界”长度单位通常会有所帮助)。
然后,对于第一页,您只需要一种不同的样式,也许还有一个不同的样式框。“标题”部分应该只是 LaTeX 的普通正文,而不是设置为其中的一部分,\@oddhead
因为它的大小未指定。
像这样:
\documentclass{article}
\setlength\textwidth{130mm}
\setlength\textheight{190mm}
\makeatletter
\def\@oddhead{%
\setlength\unitlength{1mm}%
\begin{picture}(0,0)%
\put(120,20){\fbox{A LOGO HERE}}%
\put(-10,-200){\framebox(150,200)[tl]{}}%
\end{picture}\hfill}
\makeatother
\begin{document}
\def\x{Stuff goes here. just to fill up the space. }
\def\xx{\x\x\x\x\x\x}
\def\y{%
\xx\par some other text to fill up space. \xx\xx\xx
\xx\par some other text to fill up more space. \xx\xx\xx
\xx\par some other text to fill up space to get more pages. \xx\xx\xx}
\y
2222 \y
333 \y
\end{document}
答案2
在收到 Yannis 和 David 的大量宝贵意见后,我想总结一下我是如何完成这个设计的。
我使用该fancyhdr
包在左头部定义了一个图片环境,其尺寸为 ,(0,0)
正如 David 所建议的那样。在这个图片环境中,我绘制了上方的水平线和垂直线。对于页脚,我做了同样的事情:创建小图片环境并绘制将页脚与页面内容分开的水平线。
上方的徽标位于\rhead
页面的某个部分。我使用该geometry
包调整了各个边距。
为了仅在第一页包含页脚文本,我将 fancyhdr 命令包装在 中,fancypagestyle
然后使用 激活页面样式\thispagestyle
。在第一页上执行此操作,它会自动为后续页面采用正确的页面样式。
最后,我将所有这些定义移至单独的样式文件中,以避免反复重复代码。它看起来肯定比用 Word 编写的文档好。与 LaTeX 一样,开始时需要进行大量调整,但一旦完成,您的工作效率就会大大提高。
答案3
在这种情况下,最好使用包fancyhdr
。这是一个最小的:
\documentclass{report}
\usepackage{graphicx,lipsum}
\usepackage{fancyhdr} \pagestyle{fancy}
\lhead{LEFT} \chead{CENTER} \rhead{RIGHT}
\lfoot{a very long left header} \cfoot{}
\rfoot{a very long right header}
\renewcommand\headrulewidth{2pt}
\renewcommand\footrulewidth{.4pt}
\begin{document}
\lipsum
\end{document}
您可以用任何您想要的材料(包括图形)替换、或(只需使用LEFT
适当CENTER
缩放的命令)。RIGHT
includegraphics
要构建规则,您可以使用图片命令或使用 TeX 基元(如\vrule
和 )\hrule
。将\lhead
上面的内容更改为:
\lhead{\hrule \vbox to 0pt{\vrule height605pt width1pt} LEFT}
会给你这个,