我想设计一个标题页,其中包含\author
命令定义下方的 2 个徽标\maketitle
。我发现这个帖子,其中描述了如何制作这样的整个页面,但我只想要与默认样式相同的样式\maketitle
作为第一页的顶部标题。 不是整个页面。
理想情况下,我可以选择将徽标并排放置(水平放置)或垂直放置,但两者始终居中。
如何实现这一点?
\documentclass[a4paper,ngerman]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{abstract}
\usepackage{lastpage}
\usepackage{amsmath}
\usepackage{color} % colors used for Matlab-codel listings
\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue
\definecolor{mylilas}{RGB}{170,55,241}
\usepackage{listings}
\usepackage{comment}
\usepackage{url}
\usepackage{bm}
\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\usepackage[T1]{fontenc}
\pagestyle{fancy}
\newcommand{\exercisedate}{date}
\setlength{\headheight}{18pt}
\fancyhead[L]{left }
\fancyhead[C]{}
\fancyhead[R]{\exercisedate}
\fancyfoot[C]{\thepage\ von \pageref{LastPage}}
\fancyfoot[L]{}
\begin{document}
\author{author}
%\publishers{}
\date{\exercisedate}
\title{title}
\clearpage\maketitle
\thispagestyle{fancy}
\begin{abstract}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{abstract}
\section*{section}
\subsection{subsection}
\subsubsection{subsubsection}
\end{document}
答案1
您可以使用类似下面的代码。它创建两个宏,\logoA
您\logoB
可以使用它们定义使用的徽标和应传递给的可选参数\includegraphics
。通过设置长度,\cus@logo@sep
您可以指定两个徽标是使用在一行还是两行上,如果是正数或 0pt,则徽标使用在一行上,并以此跳跃作为分隔符,如果是负数,则它们彼此下方使用,并以此跳跃作为垂直分隔符(绝对值)。
它通过修补来工作\@maketitle
,由 内部使用\maketitle
,并将徽标插入tabular
作者使用的相同中心环境中,徽标和作者之间存在很大的跳跃。
\documentclass[]{article}
\usepackage[]{graphicx}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@maketitle{\@author}{\@author\cus@logos}{}
{\GenericError{}{Error: Patching \string\@maketitle failed}{}{}}
\newcommand*\logoA
{%
\cus@logo{A}%
}
\newcommand*\logoB
{%
\cus@logo{B}%
}
\@ifdefinable\cus@logo % needs `\def` syntax so instead of `\newcommand`
{\def\cus@logo#1#2#{\cus@logo@{#1}{#2}}}
\newcommand*\cus@logo@[3]
{%
\csdef{cus@logo@#1}{#2{#3}}%
}
\newcommand*\cus@logo@A{}
\newcommand*\cus@logo@B{}
\newcommand*\cus@logos
{%
\ifx\cus@logo@A\@empty
\ifx\cus@logo@B\@empty
\else
\\\noalign{\bigskip}%
\fi
\else
\\\noalign{\bigskip}%
\expandafter\includegraphics\cus@logo@A
\fi
\ifx\cus@logo@B\@empty
\else
\ifx\cus@logo@A\@empty
\else
\ifdim\cus@logo@sep<\z@
\\[-\cus@logo@sep]%
\else
\hskip\cus@logo@sep
\fi
\fi
\expandafter\includegraphics\cus@logo@B
\fi
}%
\newlength\cus@logo@sep
%% if this length is positive, use both logos next to each other with this as
%% separation, if this lengths is negative use both logos below each other with
%% this length's absolute value as vertical skip
\setlength\cus@logo@sep{-1sp}
\makeatother
\author{Me Myself}
\title{My Title}
\date{\today}
\logoA[width=3cm]{example-image-duck}
\logoB[width=3cm,page=10]{example-image-duck}
\begin{document}
\maketitle
\end{document}