應用筆記風格

應用筆記風格

我正在嘗試設定應用程式筆記樣式,這就是我到目前為止所提出的:

\documentclass[a4paper,twocolumn,twoside,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[]{Chivo}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pgf, tikz}
\usepackage{mathrsfs}
\usepackage{verbatim}
\usepackage{lastpage}

\usetikzlibrary{shapes, calc, shapes, arrows, babel}

\usepackage{amsmath, amssymb, textcomp}
\everymath{\displaystyle}


\usepackage{eurosym}

\usepackage{graphicx}
\graphicspath{{./img/}}
\usepackage{svg}
\usepackage{lipsum}

\usepackage{hyperref}

% custom header/footer
\usepackage{fancyhdr}
%\pagestyle{fancy}
\makeatletter
\newcommand{\logo}{\includegraphics[width=0.6\columnwidth]{logo.png}}
\newcommand{\logosmall}{\includegraphics[width=0.3\columnwidth]{logo.png}}
\newcommand{\claim}{©YYYY Company name, Inc. All rights reserved.\\ Trademarks and registered trademarks are the\\\vspace{-6pt} property of their respective owners.}
\newcommand{\website}{www.companysite.com}
\renewcommand{\date}[1]{\gdef\@date{#1}}
\newcommand*{\revision}[1]{\gdef\@revision{#1}}
\newcommand*{\code}[1]{\gdef\@code{#1}}
\newcommand*{\type}[1]{\gdef\@type{#1}}
%
%
% First page
%
\fancypagestyle{first}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    \fancyhead[L]{\logo}
    \fancyhead[R]{%
    \huge{\bf{%
    \@code\\
    \@type
    }}}%
    \renewcommand{\headrulewidth}{2pt}
    \headrule
    %
    \fancyfoot[L]{\@date}
    \fancyfoot[C]{\@revision}
    \fancyfoot[R]{Page~\thepage~of~\pageref{LastPage}}
}
%
% Document body
\fancypagestyle{body}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    %
    \fancyfoot[L]{\@date}
    \fancyfoot[C]{\@revision}
    \fancyfoot[R]{Page~\thepage~of~\pageref{LastPage}}
}
%
%
% Last page
\fancypagestyle{last}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    %
    \fancyfoot[L]{\vspace*{-10pt}{\tiny \claim}\\ \@date}
    \fancyfoot[C]{\vspace{-20pt}\logosmall\\ \@revision}
    \fancyfoot[R]{\fbox{%
    \parbox{0.3\textwidth}{
    \large{
    \vspace*{10pt}
    \textbf{\website}
    \vspace*{-5pt}
    }}}\\
    Page~\thepage~of~\pageref{LastPage}
    }
}
\makeatother

% custom title
\makeatletter
\renewcommand*{\maketitle}{%
\renewcommand{\familydefault}{\sfdefault}
\thispagestyle{first}
\twocolumn[
\let\clearpage\relax% Remove \clearpage functionality
\vspace*{-10pt}% Insert needed vertical retraction
\begin{@twocolumnfalse}
    \begin{center}
    \bf{
        {\LARGE\@title\par}
        \@author
        }
    \end{center}
    \end{@twocolumnfalse}
    \vspace*{30pt}
    ]
}%
\makeatother

\setcounter{secnumdepth}{0} % sections are level 1

\title{My Outstanding Application Note Title}
\author{J.~Doe}
\date{22.02.2019}
\revision{Rev.~0.1}
\code{AN-1}
\type{APPLICATION~NOTE}

\begin{document}
\maketitle
\tableofcontents
\clearpage
\pagestyle{body}

\section{Section}
\lipsum[1]

\section{Section}
\lipsum[2]

\subsection{Subsection}
\lipsum[3]

\section{Section}
\lipsum[4]

\subsection{Subsection}
\lipsum[5]

\paragraph{Paragraph}
\lipsum[6]

\subsection{Subsection}
\lipsum[7]

\paragraph{Paragraph}
\lipsum[8]

\newpage
\clearpage
\pagestyle{last}
\begin{onecolumn}
\begin{table}[!ht]%
\caption{Revision history.}
\label{}
\centering
\begin{tabular}{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
\hline
Revision & Author & Changes\\
\hline
cell 1 & cell 2 & cell 3\\
cell 1 & cell 2 & cell 3\\
\hline
\end{tabular}
\end{table}
\end{onecolumn}

\end{document}

這主要複製了我非常喜歡的 Analog Devices 應用程式筆記(但希望我沒有侵犯任何版權)。

然而,這仍然不是我想要實現的目標,因為我無法在第二頁上獲取索引(儘管將它放在第一頁上仍然很好,這也是我喜歡的),我不能在第一頁的規則上方獲取公司信息,而最後一頁的頁腳未正確對齊。最後,我不是一個很好的乳膠程式設計師,所以我認為一切都可以更好地安排(也許在一個類別/風格中)。

如果可能的話,我想分享我的程式碼並請別人改進它。

謝謝。

編輯1: 我想出了以下中間步驟

\documentclass[a4paper,twocolumn,twoside,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[]{Chivo}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pgf, tikz}
\usepackage{mathrsfs}
\usepackage{verbatim}
\usepackage{lastpage}
\usepackage{multirow}

\usepackage{tipa} % for the pipe symbol
\usepackage[left=1.25cm,right=1.25cm,top=1.8cm,bottom=5cm]{geometry}

\usepackage{amsmath, amssymb, textcomp}
\everymath{\displaystyle}


\usepackage{eurosym}

\usepackage{graphicx}
\usepackage{svg}
\usepackage{lipsum}

\usepackage{hyperref}

% custom header/footer
\usepackage{fancyhdr}
\makeatletter
\newcommand{\logo}{\includegraphics[width=0.3\columnwidth]{logo.png}}
\newcommand{\logosmall}{\includegraphics[width=0.15\columnwidth]{logo.png}}
\newcommand{\claim}{©YYYY Company name, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners.}
\newcommand{\website}{www.companysite.com}
\newcommand{\telephone}{123.456.7890}
\newcommand{\address}{\small{One Technology Way}\large{$\cdot$}\small{P.O.Box 9106}\large{$\cdot$}\small{Norwood,MA02062-9106,USA}}
\renewcommand{\date}[1]{\gdef\@date{#1}}
\newcommand*{\revision}[1]{\gdef\@revision{#1}}
\newcommand*{\code}[1]{\gdef\@code{#1}}
\newcommand*{\type}[1]{\gdef\@type{#1}}
\newcommand*{\theCompany}{\textbf{{\address}\large{$\cdot$}\small{Tel:\telephone}\large{$\cdot$}\small{\website}}}
%
%
% First page
%
\fancypagestyle{first}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{94pt}
    \fancyhead[C]{
    \begin{tabular}[b]{p{0.3\linewidth}p{0.27\linewidth}p{0.3\linewidth}} % still having some alignment issues here
    \multirow{2}{1in}{\logo}    & &                    \\
                                & &                    \\
                                & & \huge{\bf{\@code}} \\
                                & & \huge{\bf{\@type}} \\
                                & &                    \\
    \multicolumn{3}{l}{\theCompany}                    \\
    \end{tabular}
    \vspace*{-15pt}
    }
    \renewcommand{\headrulewidth}{2pt}
    %\fancyfoot[C]{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
    \fancyfoot[C]{
    \begin{tabular}[b]{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
    & \footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}} & \\
    \end{tabular}
    }
}
%
% Document body
\fancypagestyle{body}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    %
    %\fancyfoot[C]{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
    \fancyfoot[C]{
    \begin{tabular}[b]{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
    & \footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}} & \\
    \end{tabular}
    }
}
%
%
% Last page
\fancypagestyle{last}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    \fancyfoot[C]{
    \begin{tabular}[b]{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
                        & \multirow{2}{1in}{\logosmall} & \\
    \footnotesize{\claim} &                               & \multirow{2}{1in}{\fbox{\parbox{0.3\textwidth}{\centering\large{\vspace*{10pt}\textbf{\website}\vspace*{5pt}}}}}\\
                        &                               & \\
                        &\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}&\\
    \end{tabular}
    }
}
\makeatother

% custom title
\makeatletter
\renewcommand*{\maketitle}{%
\renewcommand{\familydefault}{\sfdefault}
\thispagestyle{first}
\twocolumn[
\vspace*{-20pt}% Insert needed vertical retraction
\begin{@twocolumnfalse}
    \begin{center}
    \bf{
        {\LARGE\@title\par}
        \@author
        }
    \end{center}
    \end{@twocolumnfalse}
    \vspace*{20pt}
    ]
}%
\makeatother

\setcounter{secnumdepth}{0} % sections are level 1

\title{My Application Note Title}
\author{J.~Doe}
\date{22.02.2019}
\revision{Rev.~0.1}
\code{AN-1}
\type{APPLICATION~NOTE}

\begin{document}
\maketitle
\section{Introduction}
\lipsum[1]\lipsum[2]\lipsum[1]
\clearpage

\tableofcontents
\pagestyle{body}

\section{Section}
\lipsum[1]

\section{Section}
\lipsum[2]

\subsection{Subsection}
\lipsum[3]

\section{Section}
\lipsum[4]

\subsection{Subsection}
\lipsum[5]

\paragraph{Paragraph}
\lipsum[6]

\subsection{Subsection}
\lipsum[7]

\paragraph{Paragraph}
\lipsum[8]

\newpage
\clearpage
\pagestyle{last}
\begin{onecolumn}
\begin{table}[!ht]%
\caption{Revision history.}
\label{}
\centering
\begin{tabular}{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
\hline
Revision & Author & Changes\\
\hline
cell 1 & cell 2 & cell 3\\
cell 1 & cell 2 & cell 3\\
\hline
\end{tabular}
\end{table}
\end{onecolumn}

\end{document}

現在,在最後一頁頁腳中,我放置了一個具有多行的表格環境,該環境在整個文件正文中複製。我將嘗試調整垂直對齊方式,以便在每個頁面上實現一致的頁腳。

關於標題頁,我使用了相同的環境(表格+多行)來獲得正確的對齊方式,並且我成功地將公司地址放在水平線的正上方(感謝@derBender)。然而,仍然存在一些對齊問題。

然而,「模板」還需要一些進一步的工作。

編輯2:

經過一些微調我想出了這個

\documentclass[a4paper,twocolumn,twoside,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[]{Chivo}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pgf, tikz}
\usepackage{mathrsfs}
\usepackage{verbatim}
\usepackage{lastpage}
\usepackage{multirow}

\usepackage{tipa} % for the pipe symbol
\usepackage[left=1.25cm,right=1.25cm,top=1.8cm,bottom=5cm]{geometry}

\usepackage{amsmath, amssymb, textcomp}
\everymath{\displaystyle}


\usepackage{eurosym}

\usepackage{graphicx}
\usepackage{svg}
\usepackage{lipsum}

\usepackage{hyperref}

% custom header/footer
\usepackage{fancyhdr}
\makeatletter
\newcommand{\logo}{\includegraphics[width=0.3\columnwidth]{logo.png}}
\newcommand{\logosmall}{\includegraphics[width=0.15\columnwidth]{logo.png}}
\newcommand{\claim}{©YYYY Company name, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners.}
\newcommand{\website}{www.companysite.com}
\newcommand{\websitelast}{\fbox{\parbox{0.3\textwidth}{\centering\large{\vspace*{10pt}\textbf{\website}\vspace*{10pt}}}}}
\newcommand{\telephone}{123.456.7890}
\newcommand{\address}{\small{One Technology Way}\large{$\cdot$}\small{P.O.Box 9106}\large{$\cdot$}\small{Norwood,MA02062-9106,USA}}
\renewcommand{\date}[1]{\gdef\@date{#1}}
\newcommand*{\revision}[1]{\gdef\@revision{#1}}
\newcommand*{\code}[1]{\gdef\@code{#1}}
\newcommand*{\type}[1]{\gdef\@type{#1}}
\newcommand*{\theCompany}{\textbf{{\address}\large{$\cdot$}\small{Tel:\telephone}\large{$\cdot$}\small{\website}}}
%
% First page
%
\fancypagestyle{first}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{94pt}
    \fancyhead[C]{
    \begin{tabular}[b]{lcr} % still having some alignment issues here
    \multirow{2}{1in}{\logo}    & &                    \\
                                & &                    \\
                                & & \huge{\bf{\@code}} \\
                                & & \huge{\bf{\@type}} \\
                                & &                    \\
    \multicolumn{3}{l}{\theCompany}                    \\
    \end{tabular}
    \vspace*{-15pt}
    }
    \renewcommand{\headrulewidth}{2pt}
    %\fancyfoot[C]{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
    \fancyfoot[C]{
    \begin{tabular}[b]{lcr}
    & \footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}} & \\
    \end{tabular}
    }
}
%
% Document body
\fancypagestyle{body}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    \setlength\footskip{73pt}
    %
\fancyfoot[C]{
    \begin{tabular}[b]{lcr}
        &                                                                         & \\
        &                                                                         & \\
        &                                                                         & \\
        & \footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}} & \\
    \end{tabular}
}
}
%
% Last page
\fancypagestyle{last}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    \setlength\footskip{73pt}
    %\multirow[<vpos>]{<nrows>}[<bigstruts>]{<width>}[<vmove>]{<text>}
    \fancyfoot[C]{
    \begin{tabular}[b]{p{0.4\linewidth}p{0.2\linewidth}p{0.4\linewidth}}
                        & \multirow[]{2}*[0.1in]{\logosmall} & \\
    \footnotesize{\claim} &                               & \multirow{2}*{\websitelast} \\
                        &                               & \\
                        &\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}} & \\
    \end{tabular}
    }
}
\makeatother

% custom title
\makeatletter
\renewcommand*{\maketitle}{%
\renewcommand{\familydefault}{\sfdefault}
\thispagestyle{first}
\twocolumn[
\vspace*{-20pt}% Insert needed vertical retraction
\begin{@twocolumnfalse}
    \begin{center}
    \bf{
        {\LARGE\@title\par}
        \@author
        }
    \end{center}
    \end{@twocolumnfalse}
    \vspace*{20pt}
    ]
}%
\makeatother

\setcounter{secnumdepth}{0} % sections are level 1

\title{My Outstanding Application Note Title}
\author{J.~Doe}
\date{22.02.2019}
\revision{Rev.~0.1}
\code{AN-1}
\type{APPLICATION~NOTE}

\begin{document}
\maketitle
\section{Introduction}
\lipsum[1]\lipsum[2]\lipsum[1]
\clearpage

\tableofcontents
\pagestyle{body}

\section{Section}
\lipsum[1]

\section{Section}
\lipsum[2]

\subsection{Subsection}
\lipsum[3]

\section{Section}
\lipsum[4]

\subsection{Subsection}
\lipsum[5]

\paragraph{Paragraph}
\lipsum[6]

\subsection{Subsection}
\lipsum[7]

\paragraph{Paragraph}
\lipsum[8]

\newpage
\clearpage
\pagestyle{last}
\begin{onecolumn}
\begin{table}[!ht]%
\caption{Revision history.}
\label{}
\centering
\begin{tabular}{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
\hline
Revision & Author & Changes\\
\hline
cell 1 & cell 2 & cell 3\\
cell 1 & cell 2 & cell 3\\
\hline
\end{tabular}
\end{table}
\end{onecolumn}

\end{document}

然而,索引仍然被正文包圍。

編輯3: 在我的最終版本之後,我很滿意

\documentclass[a4paper,twocolumn,twoside,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\usepackage[titles]{tocloft}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pgf,tikz}
\usepackage{mathrsfs}
\usepackage{lastpage}
\usepackage{multirow}

\usepackage{tipa} % for the pipe symbol
\usepackage[left=1.25cm,right=1.25cm,top=1.8cm,bottom=5cm]{geometry}

\usepackage{amsmath, amssymb, textcomp}


\usepackage{eurosym}

\usepackage{graphicx}
\usepackage{lipsum}

\usepackage{hyperref}

% custom header/footer
\usepackage{fancyhdr}
\makeatletter
\newcommand{\logo}{\includegraphics[draft,width=0.7\columnwidth]{logo.png}}
\newcommand{\logosmall}{\includegraphics[draft,width=0.2\columnwidth]{logo.png}}
\newcommand{\claim}[1]{\gdef\@claim{#1}}
\newcommand{\site}[1]{\gdef\@site{#1}}
\renewcommand{\date}[1]{\gdef\@date{#1}}
\newcommand*{\revision}[1]{\gdef\@revision{#1}}
\newcommand*{\id}[1]{\gdef\@id{#1}}
\newcommand*{\type}[1]{\gdef\@type{#1}}
\newcommand*{\info}[1]{\gdef\@info{#1}}
%
% First page
%p{0.3\textwidth}p{0.3\textwidth}p{0.3\textwidth}
\fancypagestyle{first}{
    %\renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{94pt}
    \fancyhead[C]{
    \begin{tabular}[b]{lcr} % still having some alignment issues here
    \multirow{2}*[-0.1in]{\logo} & &                                   \\
                                & & \huge{\textbf{\textsf{\@id}}}     \\
                                & & \huge{\textbf{\textsf{\@type}}}   \\
    \multicolumn{3}{b{0.95\textwidth}}{\footnotesize{\textsf{\@info}}} \\
    \end{tabular}
    }
    \vspace*{-5pt}
    \renewcommand{\headrulewidth}{2pt}
    %\fancyfoot[C]{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
    \fancyfoot[C]{
    \begin{tabular}[b]{lcr}
    & \textsf{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}} & \\
    \end{tabular}
    }
}
%
% Document body
\fancypagestyle{body}{
    %\renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\textsf{\@id}}
    \hfill
    \textbf{\textsf{\color{lightgray}{\@type}}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\textsf{\color{lightgray}{\@type}}}
    \hfill \textbf{\textsf{\@id}}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    \setlength\footskip{73pt}
    %
\fancyfoot[C]{
    \begin{tabular}[b]{lcr}
        &                                                                         & \\
        &                                                                         & \\
        &                                                                         & \\
        & \textsf{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}} & \\
    \end{tabular}
}
}
%
% Last page
\fancypagestyle{last}{
    %\renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\textsf{\@id}}
    \hfill
    \textbf{\textsf{\color{lightgray}{\@type}}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\textsf{\color{lightgray}{\@type}}}
    \hfill \textbf{\textsf{\@id}}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    \setlength\footskip{73pt}
    %\multirow[<vpos>]{<nrows>}[<bigstruts>]{<width>}[<vmove>]{<text>}
    \fancyfoot[C]{
    \begin{tabular}[b]{p{0.4\linewidth}p{0.2\linewidth}p{0.4\linewidth}}
                        & \multirow[]{2}*[-0.15in]{\logosmall} & \\
    \textsf{\footnotesize{\@claim}} &                               & \multirow[]{2}*[0.1in]{\fbox{\parbox{0.3\textwidth}{\centering\large{\vspace*{10pt}\textbf{\textsf{\@site}}\vspace*{10pt}}}}} \\
                        &                               & \\
                        &\textsf{\footnotesize{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}} & \\
    \end{tabular}
    }
}
\makeatother

% custom title
\makeatletter
\renewcommand*{\maketitle}{%
%\renewcommand{\familydefault}{\sfdefault}
\thispagestyle{first}
\twocolumn[
\vspace*{-20pt}% Insert needed vertical retraction
\begin{@twocolumnfalse}
    \begin{center}
        {\LARGE\textbf{\textsf{\@title}}\par}
        \textbf{\textsf{\@author}}
    \end{center}
    \end{@twocolumnfalse}
    \vspace*{20pt}
    ]
}%
%
\makeatother

\setcounter{secnumdepth}{0} % sections are level 1
\titleformat*{\section}{\Large\bfseries\sffamily}
\titleformat*{\subsection}{\large\bfseries\sffamily}
\titleformat*{\subsubsection}{\bfseries\sffamily}
\titleformat*{\paragraph}{\large\bfseries\sffamily}
\titleformat*{\subparagraph}{\bfseries\sffamily}
\renewcommand{\cftsecfont}{\bfseries\sffamily}
\renewcommand{\cftsubsecfont}{\sffamily}
\renewcommand{\cftsubsubsecfont}{\sffamily}

\title{My Outstanding Application Note Title}
\author{J.~Doe}
\date{22.02.2019}
\revision{Rev.~0.1}
\id{AN-1}
\type{APPLICATION~NOTE}
\info{Please place here company infos.}
\claim{Please, place here your copyright notice.}
\site{www.companysite.com}

\begin{document}
\maketitle
\tableofcontents
\clearpage
\pagestyle{body}

\section{Section}
\lipsum[1-4]

\section{Section}
\lipsum[1]

\section{Section}
\lipsum[2]

\subsection{Subsection}
\lipsum[3]

\subsubsection{Subsubsection}
\lipsum[4]

\subsection{Subsection}
\lipsum[5]

\paragraph{Paragraph}
\lipsum[6]

\subparagraph{Subparagraph}
\lipsum[7]

\newpage
\clearpage
\pagestyle{last}
\begin{onecolumn}
\begin{table}[!ht]%
\caption{Revision history.}
\label{}
\centering
\begin{tabular}{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
\hline
Revision & Author & Changes\\
\hline
cell 1 & cell 2 & cell 3\\
cell 1 & cell 2 & cell 3\\
\hline
\end{tabular}
\end{table}
\end{onecolumn}

\end{document}

答案1

我想出了一些相當不錯的東西……但它仍然可以改進

\documentclass[a4paper,twocolumn,twoside,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[]{Chivo}
\usepackage{verbatim}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pgf, tikz}
\usepackage{mathrsfs}
\usepackage{verbatim}
\usepackage{lastpage}

\usepackage{tipa} % for the pipe symbol
\usepackage[left=1.25cm,right=1.25cm,top=1.8cm,bottom=5cm]{geometry}

\usetikzlibrary{shapes, calc, shapes, arrows, babel}

\usepackage{amsmath, amssymb, textcomp}
\everymath{\displaystyle}


\usepackage{eurosym}

\usepackage{graphicx}
\graphicspath{{./img/}}
\usepackage{svg}
\usepackage{lipsum}

\usepackage{hyperref}

% custom header/footer
\usepackage{fancyhdr}
%\pagestyle{fancy}
\makeatletter
\newcommand{\logo}{\includegraphics[natwidth=100px,natheight=100px,width=0.6\columnwidth]{logo.png}}
\newcommand{\logosmall}{\includegraphics[natwidth=100px,natheight=100px,width=0.2\columnwidth]{logo.png}}
\newcommand{\claim}{©YYYY Company name, Inc. All rights reserved.\\ Trademarks and registered trademarks are the\\\vspace{-6pt} property of their respective owners.}
\newcommand{\website}{www.companysite.com}
\newcommand{\telephone}{123.456.7890}
\newcommand{\address}{\small{One Technology Way}\large{$\cdot$}\small{P.O.Box 9106}\large{$\cdot$}\small{Norwood,MA02062-9106,USA}}
\renewcommand{\date}[1]{\gdef\@date{#1}}
\newcommand*{\revision}[1]{\gdef\@revision{#1}}
\newcommand*{\code}[1]{\gdef\@code{#1}}
\newcommand*{\type}[1]{\gdef\@type{#1}}
\newcommand*{\theCompany}{\textbf{{\address}\large{$\cdot$}\small{Tel:\telephone}\large{$\cdot$}\small{\website}}}
%
%
% First page
%
\fancypagestyle{first}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    \fancyhead[L]{\logo\\}
    \fancyhead[R]{
                    \huge{
                        \bf{
                            \@code\\
                            \@type\\
                           }
                    }
                 }
    \fancyhead[C]{~\\~\\\theCompany}
    \renewcommand{\headrulewidth}{2pt}
    %
    %\vspace*{-30pt}
    \fancyfoot[C]{\tiny{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
}
%
% Document body
\fancypagestyle{body}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}
    %
    \fancyfoot[C]{\tiny{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
}
%
%
% Last page
\fancypagestyle{last}{
    \renewcommand{\familydefault}{\sfdefault}
    \setlength\headheight{47pt}
    %\renewcommand{\topmargin}{0pt}
    % even pages
    \fancyhead[CE]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\@code}
    \hfill
    \textbf{\color{lightgray}{\@type}}
    }
    \vspace*{10pt}
    }}}%
    % odd pages
    \fancyhead[CO]{\fbox{%
    \parbox{\textwidth}{
    \vspace*{10pt}\huge{
    \textbf{\color{lightgray}{\@type}}
    \hfill \textbf{\@code}
    }
    \vspace*{10pt}
    }}}%
    \renewcommand{\headrulewidth}{0pt}

    \fancyfoot[L]{\vspace*{-10pt}{\tiny \claim}}
    \fancyfoot[C]{\vspace{-60pt}\hspace{1cm}\logosmall\\\tiny{\@revision\textpipe{}Page~\thepage~of~\pageref{LastPage}}}
    \fancyfoot[R]{\fbox{%
    \parbox{0.3\textwidth}{
    \centering
    \large{
    \vspace*{10pt}
    \textbf{\website}
    \vspace*{5pt}
    }}}\\
    ~
    }
}
\makeatother

% custom title
\makeatletter
\renewcommand*{\maketitle}{%
\renewcommand{\familydefault}{\sfdefault}
\thispagestyle{first}
\twocolumn[
%\let\clearpage\relax% Remove \clearpage functionality
\vspace*{-10pt}% Insert needed vertical retraction
\begin{@twocolumnfalse}
    \begin{center}
    \bf{
        {~\par}
        ~
        }
    \end{center}
    \end{@twocolumnfalse}
    \vspace*{90pt}
    ]
}%
\makeatother

\setcounter{secnumdepth}{0} % sections are level 1

\title{}
\author{}
\date{22.02.2019}
\revision{Rev.~0.1}
\code{AN-1}
\type{APPLICATION~NOTE}

\begin{document}
    \maketitle
    \begin{center}
        %\title
        %\author{J.~Doe}
        \renewcommand{\title}{My Application Note Title}
        \renewcommand{\author}{J.~Doe}
        \Large{\textbf{\title \\ by \author}}
    \end{center}
\section{Introduction}
\lipsum[1]\lipsum[2]\lipsum[1]
\clearpage

\tableofcontents
\pagestyle{body}

\section{Section}
\lipsum[1]

\section{Section}
\lipsum[2]

\subsection{Subsection}
\lipsum[3]

\section{Section}
\lipsum[4]

\subsection{Subsection}
\lipsum[5]

\paragraph{Paragraph}
\lipsum[6]

\subsection{Subsection}
\lipsum[7]

\paragraph{Paragraph}
\lipsum[8]

\newpage
\clearpage
\pagestyle{last}
\begin{onecolumn}
\begin{table}[!ht]%
\caption{Revision history.}
\label{}
\centering
\begin{tabular}{p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}}
\hline
Revision & Author & Changes\\
\hline
cell 1 & cell 2 & cell 3\\
cell 1 & cell 2 & cell 3\\
\hline
\end{tabular}
\end{table}
\end{onecolumn}

\end{document}

在此輸入影像描述 在此輸入影像描述 在此輸入影像描述

已知問題有:

-標題不在兩列上方居中

-toc 不在單獨的頁面上

-最後一頁上的頁腳不太對齊(也許一些 hspaces 和 vspaces 可以在這裡提供幫助?)

答案2

移動\tableofcontents之後(而不是之前)\clearpages對我來說很有效。

另外,這裡有一些小建議: 起初,我在編譯 MWE 時遇到了問題,因為 LaTeX 無法計算出 的尺寸logo.png(而且我知道即使文件存在也無法計算出),所以我通常會做什麼在這些情況下,將一個natheight=100px, natwidth=100px(或任何其他數字,請在您的文件中檢查)添加到\includegraphics

編輯:我認為為了使它看起來更像 AD 中的應用程式註釋,頁腳需要做一些不同的處理:頁腳中沒有日期(所以我省略了該行)並且“Page x of y”居中但與版本號之間以“|”分隔(存檔者\usepackage{tipa},而且\textpipe文字大小非常小,所以我用一個將文字放在頁腳中{\tiny…}

我臨時想出了以下標誌(尺寸100 px * 100 px):

在此輸入影像描述

相關內容