我需要重现以下标题格式:
请帮忙;我是 LaTeX 或 TeX 的初学者。我使用 LyX,这包含在文档的序言中:
\usepackage{fancyhdr}
\usepackage{multicol}
\usepackage{graphics}
\def\headrule{{%
\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
\hrule\@height\headrulewidth\@width\headwidth\vskip2pt%
\hrule\@height\headrulewidth\@width\headwidth\vskip-\headrulewidth\vskip-4pt
}}
\pagestyle{fancy}
\fancypagestyle{plain}%{%
\fancyhf{} % clear all header and footer fields
\renewcommand{\headrulewidth}{0.4pt}
\fancyhead{\resizebox{2in}{!}{\includegraphics{logo.png}}}
\vskip10pt
\lhead{\bfseries Reporte de Desarrollo}
\rhead{\bfseries DES-001}
\lfoot{Por: A. Perez}
\cfoot{\thepage /2}
\rfoot{Departamento de Diseño}
\renewcommand{\footrulewidth}{0.4pt}
感谢 Samuel Albert 的帮助。
答案1
这是我提出的解决方案。我添加了包的使用,lastpage
以使最后一页的页码自动显示。我将包更改graphics
为graphicx
具有我用来标注徽标尺寸的功能。此代码替换了您提供的代码。
\usepackage{etoolbox}%
\usepackage{fancyhdr}%
\usepackage{multicol}%
\usepackage{graphicx}%
\usepackage{lastpage}%
%
\def\MyLogo{MyLogo.ext}%
\newlength\logoHeight%
\setlength{\logoHeight}{50pt}%
\def\textheadLeft {ss Technical Document}%
\def\textheadRight{TD-1}%
\def\textfootLeft {Por: A. Perez}%
\def\textfootRight{Departamento de Diseño}%
%
\makeatletter%
\headheight = 80pt%
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyhead[C]{%
\fboxsep = 0pt
\hbox to \headwidth%
{%
\parindent = 0pt%
\hsize = \headwidth%
\hfil%
\vbox to \logoHeight%
{%
\vfil%
\includegraphics[keepaspectratio,height=\logoHeight,width=\headwidth]{\MyLogo}%
\vfil%
}%
\hfil%
}%
}%
\lfoot{\textfootLeft}%
\cfoot{\thepage / \pageref{LastPage}}%
\rfoot{\textfootRight}%
\renewcommand{\footrulewidth}{0.4pt}%
\renewcommand{\headrulewidth}{10pt}%
}%
%
\def\headrule{%
\hrule\@height\footrulewidth\@width\headwidth\vskip2pt%
\textbf{\textheadLeft}\hfill\textbf{\textheadRight}%
\vskip2pt\hrule\@height\footrulewidth\@width\headwidth%
}%
\makeatother%
%
\pagestyle{plain}%
编辑:
由于您是 Latex 新手,我决定让它变得简单一点。现在您只需要在包加载后修改前几行
Samuel,我使用了你的代码,但 Lyx 似乎陷入了某种循环。我将你的 MyLogo.ext 更改为 logo.png,这样做对吗?
Mylogo.ext 确实应该被你的徽标的路径替换:
- 它可以是从系统根目录 (c:/.../logo.png) 开始的绝对路径。
- 然而,它最好是一个来自文件所属文件夹的相对路径
.tex
,这样如果您移动所有这些,它仍然会编译。
例如,如果您要使用的图像已命名logo.png
,并且位于images/
文件所在文件夹的子文件夹中.tex
,则应该有以下行
\def\MyLogo{images/logo.png}%
还要注意,在执行所有这些操作之前,您应该声明要使用的文档类。例如,在我用来尝试此操作的文件中,我使用了报告文档类。
\documentclass[10pt,a4paper,titlepage,oneside,onecolumn]{report}
最后,在这个标题之后,你应该看到你的内容,\begin{document}
后面跟着文档本身。例如在我的测试文档中
\begin{document}
test
\end{document}
总而言之,由于我使用的是 Miktex 2.9 和 Texmaker 的组合,因此我无法在 Lyx 下进行测试,但我相信使用它的人会好心地确认它是否有效。
也许最后要说的一件事是我使用了 Lualatex。由于示例中有一些非严格的 ASCII 字符,因此它可能会产生影响(尽管我并不这么认为)。也许可以尝试ñ
在第一步中删除,以确保它不会导致任何问题。
最终解决方案
按照 Samuel Albert 的建议检查了所有内容后,我最终因为信息重复而修剪了代码。由于 LyX 配置,ñ 字符不相关,但代码的其他部分相关。以下代码有效:
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{multicol}
\usepackage{lastpage}%
\usepackage{graphicx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\tabularnewline}{\\}
\@ifundefined{date}{}{\date{}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\MyLogo{logo.png}%
\newlength\logoHeight%
\setlength{\logoHeight}{50pt}%
\def\textheadLeft {Reporte de Desarrollo}%
\def\textheadRight{DES-001}%
\def\textfootLeft {Por: A. Perez}%
\def\textfootRight{Departamento de Diseño}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\headheight = 80pt%
\fancypagestyle{plain}{%
\fancyhf{}%
\chead{%
\fboxsep = 0pt
\hbox to \headwidth%
{%
\parindent = 0pt%
\hsize = \headwidth%
\hfil%
\vbox to \logoHeight%
{%
\vfil%
\includegraphics[keepaspectratio,height=\logoHeight,width=\headwidth]{\MyLogo}%
\vfil%
}%
\hfil%
}%
}%
\lfoot{\textfootLeft}%
\cfoot{\thepage / \pageref{LastPage}}%
\rfoot{\textfootRight}%
\renewcommand{\footrulewidth}{0.4pt}%
\renewcommand{\headrulewidth}{10pt}%
}%
%
\def\headrule{%
\hrule\@height\footrulewidth\@width\headwidth\vskip2pt%
\textbf{\textheadLeft}\hfill\textbf{\textheadRight}%
\vskip2pt\hrule\@height\footrulewidth\@width\headwidth%
}%
%
\pagestyle{plain}%