
Мне нужно воспроизвести следующий формат заголовка:
Помогите, пожалуйста. Я полный новичок в 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}
Спасибо Сэмюэлю Альберту за помощь.
решение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, я решил немного упростить задачу. Теперь вам нужно будет только изменить первые несколько строк после загрузки пакета
Сэмюэль, я использовал твой код, но 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}
В заключение хочу сказать, что я не могу протестировать это в Lyx, поскольку я использую комбинацию Miktex 2.9 и Texmaker, но я уверен, что кто-то, кто этим пользуется, будет настолько любезен, чтобы подтвердить, работает это или нет.
Может быть, последнее, что нужно отметить, это то, что я использую Lualatex. Поскольку в примере есть некоторые не строго ASCII-символы, это может иметь место (хотя я так не думаю). Может быть, стоит попробовать удалить ñ
на первом этапе, чтобы убедиться, что это не является причиной каких-либо проблем.
Окончательное решение
После проверки всего, что предложил Сэмюэль Альберт, я закончил обрезать код из-за дублирующейся информации. Символ ñ не был важен из-за конфигурации 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}%