我使用nomencl
包来跟踪我的缩写\documentclass{report}
,我使用它xelatex
来更改字体。但是,由于我对\chapter{}
打印方式进行了更改,因此它也影响了命名法标题。
经过我的修改后,我的章节看起来是这样,例如,它包括不同的字体大小、右对齐/左对齐、不同的文本颜色和底部\hrule
:
\renewcommand{\thechapter}{\arabic{chapter}}
\titleformat{\chapter}[display]
{\Large}
{
\hfill\fontsize{80}{50}\selectfont\chapterfont\color{dtured}\thechapter}
{-2ex}
{\filleft\fontsize{40}{55}\selectfont\chapterfont\color{dtured}}
[\vspace{0ex}\hrule]
这段代码看起来\chapter{Introduction}
如下:
但是,由于变化,我的命名法标题(我将其重命名为缩写,参见下面的代码)如下所示:
\renewcommand{\nomname}{\vspace{-3.8cm}\begin{flushleft}
\fontsize{30}{50}\selectfont\chapterfont Abbreviations\end{flushleft}\vspace{-3.8cm}}
正如您所看到的,\hrule
有点浮动(在我的 MWE 中,它被放置在上面,在我的完整序言中,它直接穿过单词 - 可能是由于一些其他参数,字体大小等,但如果我能为我的 MWE 弄清楚,我可能也可以修复我的完整序言)。
因此,我的问题当然是,我如何才能从缩写中删除该行或将其向下移动,以便它与章节中的行相匹配。无论哪种方式最简单。我自己的想法是,如果我能以某种方式让 xelatex 避免将命名法解释为章节,而是解释为纯文本(但保留字体/字体大小)。
这是我的完整 MWE(请注意,我使用了一些不寻常的字体,请随意更改它,也许还有一些不必要的命令,但这重现了我的问题):
\documentclass[12pt,a4paper,english]{report}
\usepackage[math-style=TeX,bold-style=TeX,partial=literal,vargreek-shape=TeX]{unicode-math} %Also loads {fontspec,xltxtra,xunicode}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont[Numbers={Proportional},SmallCapsFeatures={LetterSpace=0},
BoldFont={Minion Pro Bold},BoldFeatures={LetterSpace=3}]{Minion Pro}
\newfontfamily\chapterfont{Neo Sans Std Light}
\newfontfamily\normalfont{Minion Pro}
\usepackage{color}
\usepackage{titlesec}
\usepackage{nomencl}
\makenomenclature
\makeindex
\definecolor{dtured}{RGB}{153,0,0}
%Formats the chapter:
\renewcommand{\thechapter}{\arabic{chapter}}
\titleformat{\chapter}[display]
{\Large}
{
\hfill\fontsize{80}{50}\selectfont\chapterfont\color{dtured}\thechapter}
{-2ex}
{\filleft\fontsize{40}{55}\selectfont\chapterfont\color{dtured}}
[\vspace{0ex}\hrule] %HERE IS THE PROBLEMATIC \HRULE
%renews the command \nomenclature{}{}, AND changes the name to "Abbreviations"
\newcommand*{\nom}[2]{#1\nomenclature{#1}{#2}}
\renewcommand{\nomname}{\vspace{-3.8cm}\begin{flushleft}
\fontsize{30}{50}\selectfont\chapterfont Abbreviations\end{flushleft}\vspace{-3.8cm}}
\begin{document}
\printnomenclature[2cm]
\newpage
\chapter{Introduction}
The mass (\nom{m}{Mass}) is heavy.
\end{document}
答案1
标准\printnomenclature
是发布
\chapter*{\nomname}
所以你只需要重新定义名称:
\renewcommand{\nomname}{Abbreviations}
你会得到
字体不同,因为我没有你使用的字体,但这与问题无关。
注意:这绝对是非常糟糕的想法去做
\newfontfamily\normalfont{Minion Pro}
只需将其移除即可。
这是改进后的版本,其中章节标题在编号和未编号的情况下都处于同一垂直水平。我还做了一些其他改进,特别是将其\hrule
改为\titlerule
。
\documentclass[12pt,a4paper,english]{report}
\usepackage[
math-style=TeX,
bold-style=TeX,
partial=literal,
vargreek-shape=TeX
]{unicode-math} %Also loads {fontspec,xunicode}
\defaultfontfeatures{Scale=MatchLowercase,Ligatures=TeX}
\setmainfont[
Numbers={Proportional},
SmallCapsFeatures={LetterSpace=0},
BoldFont={Minion Pro Bold},
BoldFeatures={LetterSpace=3}
]{Minion Pro}
%\setsansfont{Neo Sans Std Light} % <------- UNCOMMENT THIS!
\newcommand{\chapterfont}{\sffamily}
\usepackage{color}
\usepackage{titlesec}
\usepackage{nomencl}
\makenomenclature
\makeindex
\definecolor{dtured}{RGB}{153,0,0}
%Formats the chapter:
%\renewcommand{\thechapter}{\arabic{chapter}} % it's so by default
\titleformat{name=\chapter}[display]
{\Large}
{\hfill\fontsize{80}{50}\selectfont\chapterfont\color{dtured}\thechapter}
{-2ex}
{\filleft\fontsize{40}{55}\selectfont\chapterfont\color{dtured}}
[\vspace{0ex}\titlerule]
\titleformat{name=\chapter,numberless}[display]
{\Large}
{\hfill\fontsize{80}{50}\selectfont\chapterfont\color{dtured}\vphantom{\thechapter}}
{-2ex}
{\filleft\fontsize{40}{55}\selectfont\chapterfont\color{dtured}}
[\vspace{0ex}\titlerule]
%renews the command \nomenclature{}{}, AND changes the name to "Abbreviations"
\newcommand*{\nom}[2]{#1\nomenclature{#1}{#2}}
\renewcommand{\nomname}{Abbreviations}
\begin{document}
\printnomenclature[2cm]
\chapter{Introduction}
The mass (\nom{m}{Mass}) is heavy.
\end{document}