
Я борюсь с разработкой пользовательского класса отчета, который отражает текущие требования в компании. Цель состоит в том, чтобы побудить людей использовать LaTeX в качестве основного инструмента для отчетности по техническим вопросам. Я хотел бы максимально снизить порог входа. Вот почему класс, который занимается всем форматированием, кажется хорошей идеей. Я почти закончил, но мне нужна ваша поддержка, чтобы решить проблему, связанную с пользовательской титульной страницей для каждого приложения. С текущим кодом я добился этого:
Но я хочу получить это (необязательное изображение в рамке, оглавление перейдет на другую страницу):
Я знаю, что это больше похоже на титульный лист основного документа, но... в любом случае.
Мои занятия:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myreport}[2018/08/29 My report LaTeX class]
\DeclareOption{twocolumn}{\OptionNotUsed}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\ProcessOptions\relax
\LoadClass[onecolumn, 10pt]{report}
\RequirePackage[a4paper, left=2.5cm,right=2.5cm,top=2cm,bottom=3.5cm]{geometry}
\RequirePackage[toc, title]{appendix}
\RequirePackage{xpatch}
\RequirePackage{etoc}
\RequirePackage{lastpage}
\RequirePackage{fancyhdr}
\RequirePackage{xcolor}
%*********************************************************
% CUSTOM COLORS
%*********************************************************
\definecolor{MyBlue}{RGB}{0,65,101}
%*********************************************************
% SECTION REDEFINITION
%*********************************************************
\renewcommand\chapter{\@startsection {chapter}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries\color{MyBlue}}}
\renewcommand\section{\@startsection {section}{2}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\large\bfseries\color{MyBlue}}}
\renewcommand\subsection{\@startsection{subsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\bfseries\color{MyBlue}}}
\renewcommand\subsubsection{\@startsection{subsubsection}{4}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\bfseries\color{MyBlue}}}
\renewcommand\paragraph{\@startsection{paragraph}{5}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\renewcommand\subparagraph{\@startsection{subparagraph}{6}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
%*********************************************************
% COUNTERS FOR FIGURES AND TABLES INCLUDE SECTION NUMBER
%*********************************************************
\setcounter{secnumdepth}{4} %depth for numbering
\counterwithin{figure}{chapter}
\counterwithin{table}{chapter}
%*********************************************************
% CUSTOM APPENDIX
%*********************************************************
\renewcommand\appendixname{Appendix}
\renewcommand\appendixtocname{Appendices}
\renewcommand\appendixpagename{Appendix}
%redefinition of appendices environment from 'appendix' package
%this set up ToC depth
\let\oldappendices\appendices
\def\appendices{\oldappendices\etocdepthtag.toc{mtappendix}\etocsettagdepth{mtchapter}{none}\etocsettagdepth{mtappendix}{subsection}}
%*********************************************************
% TITLE PAGE
%*********************************************************
\renewcommand*{\maketitle}{%
\thispagestyle{empty}
\begin{center}
\bfseries
\huge Main Title Of The Document
\vskip.5in
\LARGE Task title
\vskip.2in
\vskip.2in
\LARGE Rev no
\vspace{10cm}
\end{center}
\newpage
}
%*********************************************************
% HEADER AND FOOTER STYLE
%*********************************************************
\pagestyle{fancy}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt} % no line in header area
\fancyfoot{} % clear all footer fields
\renewcommand{\footrule}{{\color{MyBlue}\vskip-\footruleskip\vskip-\footrulewidth \hrule width\headwidth height \footrulewidth\vskip\footruleskip}}
\renewcommand{\footrulewidth}{3pt}
\renewcommand\thefootnote{\textcolor{red}{\arabic{footnote}}}
\fancyfoot[RE,LO]{\footnotesize \textcolor{MyBlue} {\vskip.3cm TaskNo XXX \ - Rev.XXX}} % other info in "inner" position of footer line
\fancyfoot[LE,RO]{\footnotesize \textcolor{MyBlue} {\vskip.3cm Page \thepage\ of \pageref{LastPage}}} % page number in "outer" position of footer line
И пример отчета, который использует класс выше:
\documentclass[a4paper, 10pt]{myreport}
\begin{document}
\maketitle %creates custom cover page
\tableofcontents %creates main table of content
\newpage %start first chapter from new page
%************************** INPUT DOCUMENT CONTENT **************************************
%******************************************************************************************
\chapter{Introduction}
Some text in main document.
%************************** APPENDICIES *************************************************
%******************************************************************************************
\begin{appendices}
\chapter{Additional information}
\localtableofcontents
\section{Section 1}
Some text
\section{Section 2}
Some text
\end{appendices}
\end{document}
Это упрощенная версия, но я считаю, что ее достаточно, чтобы продемонстрировать суть дела.
Разумеется, я пытался сделать это сам, прежде чем обратиться к вам за помощью, но я здесь, так что результат известен :)
ЭтотКажется, похожая тема, но мне не удалось заставить ее работать у меня. Буду признателен за ваши комментарии. Спасибо!