我打算只将 Trajan 字体用于论文的章节标题(因此,不是章节标题等)。我使用的是以前的学生提供的模板,这是有关章节标题的部分:
%% Check for fancychap flag and change chapter default if true
\ifthenelse{\boolean{fancychapflag}}{%
\titleformat{\chapter}[display]%
{\huge\normalfont\defaultfont\filleft\onehalfspacing%
\titlerule[1pt]%
\vspace{1pt}%
\titlerule}%
{%
\vspace{1ex}%
\chaptertitlename \space \thechapter}%
{0.5ex}%
{\bfseries\Huge}%
[\vspace{1ex}%
\titlerule]%
%% Control the spacing of the numbered chapters.
\titlespacing*{\chapter}{0pt}{0pt}{30pt}
\titleformat{name=\chapter,numberless}[display]%
{\huge\normalfont\defaultfont\filcenter}%
%% Move the title to the top of the page
{\vspace{-6ex}}%
{0pt}%
{\titlerule\huge}%
[\vspace{\parskip}%
\titlerule]
%% Control the spacing of the un-numbered chapters.
\titlespacing*{name=\chapter,numberless}{0pt}{0pt}{30pt}%
}%
{%% Fix chapter spacing to one and a half
\titleformat{\chapter}[display]%
{\huge\normalfont\defaultfont\bfseries\onehalfspacing}%
{\chaptertitlename\ \thechapter}%
{20pt}%
{\Huge}%
}
在哪里:
\newcommand{\defaultfont}{\ifthenelse{\boolean{sansflag}}{\sffamily}{}}
从之前的帖子中,我现在知道我需要使用\trjnfamily
而不是\deaultfont
。但是,我想修改 Trajan 字体(仅以大写字母显示),如下所示:
- 对于非大写字母使用稍小的字体并让 Trajan 识别它们(即当您使用 Trajan 处理小写字母时,它通常不会显示任何内容)。
- 对于实际大写字母,使用稍大一些的字母。
例如如下所示: https://www.fonts.com/font/adobe/trajan/regular
我的问题是我是否可以在文档的类文件中执行此操作,或者是否需要购买新字体,例如 Trajan Regular。
谢谢您的帮助!
答案1
在我看来,您真正想要的是使用名为 的 Opentype 字体Trajan Pro
。如果是这样,您应该考虑使用 LuaLaTeX 和fontspec
包。您可以使用sectsty
包及其\chapterfont
宏来更改章节级标题中使用的字体。
% !TeX program = lualatex
\documentclass{report}
\usepackage{fontspec,booktabs}
\setmainfont{TexGyre Termes} % just for this example
\newfontfamily{\trajan}[BoldFont=Trajan Pro Bold]{Trajan Pro}
\newcommand\hw{Hello World} % handy short-cut macro
\usepackage{sectsty}
\chapterfont{\centering\trajan} % "\centering" is optional!
\renewcommand\chaptername{Episode} % just for fun...
\renewcommand\thechapter{\Roman{chapter}}
\setcounter{chapter}{3}
\begin{document}
\chapter{A New Hope}
\centering
\begin{tabular}{@{}lcc@{}}
\toprule
& non-bold & \bfseries bold \\
\midrule
Regular Times Roman & \hw & \bfseries\hw \\
Small-caps Times Roman & \scshape \hw & \scshape\bfseries \hw \\
Trajan Pro & \trajan \hw & \trajan\bfseries \hw \\
\bottomrule
\end{tabular}
\end{document}
答案2
我认为这完全不合适,但文档是你的。请不要要求重音符号和其他变音符号:TeX Live 上的免费 Trajan 字体没有这些符号。
\documentclass{book}
\usepackage{xparse,l3regex}
\usepackage{titlesec}
\titleformat{\chapter}[display]%
{\huge\fontsize{18}{24}\usefont{T1}{trjn}{m}{n}}
{\maketrajan{\chaptertitlename}\ \Roman{chapter}}
{20pt}
{\maketrajan}
\ExplSyntaxOn
\NewDocumentCommand{\maketrajan}{m}
{
\anderlini_maketrajan:f { #1 }
}
\cs_new_protected:Nn \anderlini_maketrajan:n
{
\tl_set:Nn \l_anderlini_title_tl { #1 }
% change any run of lowercase letters into \trajanlower{<lc letters>}
\regex_replace_all:nnN { ([a-z]+) } { \c{trajanlower}\cB\{\1\cE\} } \l_anderlini_title_tl
\tl_use:N \l_anderlini_title_tl
}
\cs_generate_variant:Nn \anderlini_maketrajan:n { f }
\NewDocumentCommand{\trajanlower}{m}
{
\group_begin:
\fontsize{14}{0}\selectfont
\tl_upper_case:n { #1 }
\group_end:
}
\tl_new:N \l_anderlini_title_tl
\ExplSyntaxOff
\begin{document}
\chapter{This is the title with Trajan letters}
\end{document}
这是该字体的完整字符表。
答案3
嗯,这个问题比较棘手,因为 Trajan 字体并不意味着有大小不一样的字母(文档在此处:http://www.tug.dk/FontCatalogue/trajan/)。我可以通过修改包本身来解决这个问题,但既然你只需要标题的异国风格,我还是会发布我的简单粗略的解决方案。我认为它的外观至少是可以忍受的。
所以我遇到的第一个问题是的环境\trjnfamily
。以下代码产生结果:
\documentclass[13,legalpaper]{report}
\usepackage[utf8]{inputenc}
\usepackage{trajan}
\usepackage[T1]{fontenc}
\begin{document}
\title{
\begin{Huge}T\end{Huge}HIS \begin{Huge}I\end{Huge}S \begin{Huge}A\end{Huge} \begin{Huge}W\end{Huge}ONDERFUL \begin{Huge}T\end{Huge}HESIS
}
{\trjnfamily \maketitle}
\end{document}
这段代码的讨厌之处在于它\maketitle
规定了论文标题的字体,而且,当命令本身放在正确的环境中时,\trjnfamily
它会将其解释为文本(因此M,
)。
所以我找到了一个替代解决方案,虽然很粗略,但仍然很好看:
\documentclass[13,legalpaper]{report}
\usepackage[utf8]{inputenc}
\usepackage{trajan}
\usepackage[T1]{fontenc}
\begin{document}
\begin{titlepage}
\vspace*{\stretch{1.0}}
\begin{center}
{\fontsize{18}{60}
{\trjnfamily \begin{Huge}T\end{Huge}HIS \begin{Huge}I\end{Huge}S \begin{Huge}A\end{Huge} \begin{Huge}W\end{Huge}ONDERFUL \begin{Huge}T\end{Huge}HESIS} \\
}
\vspace{0.5cm}
\large{Flying Spaghetti Monster} \\
\vspace{0.2cm}
\large{13.4 million years BC}
\end{center}
\vspace*{\stretch{2.0}}
\end{titlepage}
\end{document}
希望这能有所帮助。如果你想将这种风格扩展到整个论文,那么真正的问题就会出现。那么,我的粗略解决方案将太耗时。据我所知,没有 LaTeX 命令可以明确地用于配置仅限大写字体。
祝你有美好的一天。
答案4
还可以考虑使用免费的 Cinzel 字体,它与 Trajan 类似。Cinzel 也有一个 Open Type 版本。我喜欢用 Cinzel 做页眉。
如果您没有因为风格原因而局限于 Trajan 或同等字体,您也可以看看免费的 Raleway 字体,它有多种粗细,也可以作为 Open Type 使用。外观不同,但也很适合用作页面标题。
编辑:应 Mico 的要求(并复制他的代码!)这里是 MWE:
% !TeX program = lualatex
\documentclass{report}
\usepackage{fontspec,booktabs}
\setmainfont{TexGyre Termes} % just for this example
\newfontfamily{\cinzel}{Cinzel}
\newfontfamily{\raleway}{Raleway}
\newcommand\hw{Hello World} % handy short-cut macro
\usepackage{sectsty}
\chapterfont{\centering\cinzel} % "\centering" is optional!
\renewcommand\chaptername{Episode} % just for fun...
\renewcommand\thechapter{\Roman{chapter}}
\setcounter{chapter}{3}
\begin{document}
\chapter{A New Hope}
\centering
\begin{tabular}{@{}lcc@{}}
\toprule
& non-bold & \bfseries bold \\
\midrule
Regular Times Roman & \hw & \bfseries\hw \\
Small-caps Times Roman & \scshape \hw & \scshape\bfseries \hw \\
Cinzel & \cinzel \hw & \cinzel\bfseries \hw \\
Raleway & \raleway\textsc \hw & \raleway\bfseries H\textsc{ello} W\textsc{orld} \\
\bottomrule
\end{tabular}
\end{document}
请注意,Raleway Bold 很特别,因为小写字母是针对大写字母而非小写字母定义的。所以我不得不重写Hello World
以符合要求。