将文本置于标题顶部的中央

将文本置于标题顶部的中央

我使用以下内容来创建此标题:

在此处输入图片描述

\documentclass[12pt]{article}

\usepackage[left=0.5cm, right=1.1cm, top=-1cm, bottom=2cm]{geometry}
\usepackage{marvosym} % for icons
\usepackage{url} % for e-mail address
\usepackage{sectsty}  % for customizing section font

\sectionfont{\normalsize\bfseries}

% Horizontal rule
\newlength{\normalrulethickness}
\setlength{\normalrulethickness}{0.4pt}
\newcommand{\thinrule}{\noindent\rule{\linewidth}{\normalrulethickness}}
\newcommand{\thickrule}{\noindent\rule{\linewidth}{2\normalrulethickness}}
\newcommand{\doublerule}{%
    \thickrule%
    \llap{\rule[2pt]{\linewidth}{\normalrulethickness}}%
}

\newcommand{\letterhead}{%
    \noindent%
    \textbf{\department}\hfill \textbf{\university}\newline
    \course\hfill \documentname\hfill \subject\newline
    \doublerule\par\smallskip
    {\small\noindent%
    \professor\hfill 
        %\emailicon\ 
        %\email\hfill 
        %\phoneicon\
        %\phone\hfill
        \office%
    }\par\bigskip%
}

\newcommand{\setdepartment}[1]{\gdef\department{#1}}
\newcommand{\setuniversity}[1]{\gdef\university{#1}}
\newcommand{\setcourse}[1]{\gdef\course{#1}}
\newcommand{\setsubject}[1]{\gdef\subject{#1}}
\newcommand{\setdocumentname}[1]{\gdef\documentname{#1}}
\newcommand{\setprofessor}[1]{\gdef\professor{#1}}
\newcommand{\setemail}[1]{\gdef\email{\url{#1}}}
\newcommand{\setphone}[1]{\gdef\phone{#1}}
\newcommand{\setoffice}[1]{\gdef\office{#1}}

% Icons in letterhead
\newcommand{\emailicon}{\Email} % from marvosym
\newcommand{\phoneicon}{\Telefon}

\newcommand{\pointvalue}[1]{\hfill\mbox{#1}}
\newcommand{\strong}[1]{\textbf{#1}}

\begin{document}

\setdepartment{TEXT 1}
\setuniversity{TEXT 2}
\setcourse{TEXT 3,TEXT 3, TEXT 3}
\setsubject{TEXT 4}
\setdocumentname{TEXT 5}
\setprofessor{TEXT 6}
%\setemail{}
%\setphone{}
\setoffice{TEXT 7}

\letterhead

\end{document}

但是,在向文本 3 添加更多文本时,文本 5 并未居中。我试图将文本 5 居中,但它会在规则之间产生很大的空间。

尽管向文本 3 或文本 4 添加更多文本,使文本 5 居中的最佳方法是什么?

答案1

为了使文档名称居中,无论课程名称或主题的大小如何,您都可以将此行替换

\course\hfill \documentname\hfill \subject\newline

\makebox[0pt][l]{\course}\hfill \documentname\hfill \makebox[0pt][r]{\subject}\newline

在你的定义中\letterhead。这会产生:

在此处输入图片描述

相关内容