自定义文档类,论文标题中的数学模式

自定义文档类,论文标题中的数学模式

我正在使用我们大学提供的自定义文档类撰写论文武廷夫特背面的模板),论文的标题有几个数学符号,我需要将它们加粗以与标题相匹配,但是当我使用\mathbf(实际上是任何\math...命令)时,我收到错误! Undefined control sequence.,而不是标题:edefYou'reintroublehere.Trytyping<return .....

不幸的是,我没有能力调试此问题,因此,如果您能提供任何有关如何调试、破解或找出解决方法的帮助,我将不胜感激。

这是我目前发现的。为了设置论文标题,我们使用\settitle{}{},设置英文和德文标题,定义如下:

\newcommand{\settitle}[2]{%
 \CreatePolylingual[english=#1,naustrian=#2]{Title}%
}%

例如CreatePolylingual

\newcommand{\CreatePolylingual}[2][]{%
\begingroup
 \setkeys{vutinfth}{#1}%
 \vutinfth@allocate@polylingual{#2}%
\endgroup
\@namedef{vutinfth@polylingual@#2}{%
 \vutinfth@selectlanguage@polylingual{#2}}%
}%

答案1

有趣的问题!按照命令链的顺序,该\settitle命令最终定义了\vutinfth@Title@english英文标题和\vutinfth@Title@naustrian德文标题的名称。如果在标题中使用命令,则会出现一个错误,这会导致中断,但我们不必尝试修补此命令,而是可以直接修复它:

\settitle{Incorrect Title}{Incorrect Title} % Sets English and German version of the title (both can be English or German).
\makeatletter
\def\vutinfth@Title@english{\boldmath Why Does the Universe use \(\mathbb{R}^3\)?}
\def\vutinfth@Title@naustrian{\boldmath Why Does the Universe use \(\mathbb{R}^3\)?}
\makeatother

本论文类不提供任何方法来覆盖标题的格式,只能在其中插入新命令,因此我添加了\boldmath选择所有数学符号的粗体版本。(一个可能相关也可能不相关的问题:对于粗体符号(例如粗体数学中的向量),使用包bm,您可能需要使用\hm{v}。)我们需要\makeatletterLaTeX 接受文件@中包含的 csnames .tex。您可以比我更好地用德语写标题,所以我就不让您费心了。

我们还没完。在前面的序言中,模板调用\hypersetup并设置pdftitle\thesistitle,它被定义为占位符。这需要是 Unicode,而不是 TeX,因此我们可以将这一行更改为:

pdftitle        = {Why does the Universe Use ℝ³?},         % The document's title in the document properties (optional).

您需要选择最接近您想要的标题的词,而无需切换到数学模式。

最后,您需要添加您使用的数学模式符号的粗体版本,因此将其添加到序言中的包列表中:

\usepackage{bm}  % Improves the appearance of \boldmath and \boldsymbol.
\usepackage[bb=px]{mathalpha}  % A free \mathbb alphabet with a bold version.

\usepackage{hyperref}如果您不想听到关于这必须是倒数第二个才过时的评论,您可以把它们放在前面。

example.tex以下是Overleaf 模板的完整版本:

% Copyright (C) 2014-2016 by Thomas Auzinger <[email protected]>

\documentclass[draft,final]{vutinfth} % Remove option 'final' to obtain debug information.

% Load packages to allow in- and output of non-ASCII characters.
\usepackage{lmodern}        % Use an extension of the original Computer Modern font to minimize the use of bitmapped letters.
\usepackage[T1]{fontenc}    % Determines font encoding of the output. Font packages have to be included before this line.
\usepackage[utf8]{inputenc} % Determines encoding of the input. All input files have to use UTF8 encoding.

% Extended LaTeX functionality is enables by including packages with \usepackage{...}.
\usepackage{fixltx2e}   % Provides fixes for several errors in LaTeX2e.
\usepackage{amsmath}    % Extended typesetting of mathematical expression.
\usepackage{amssymb}    % Provides a multitude of mathematical symbols.
\usepackage{mathtools}  % Further extensions of mathematical typesetting.
\usepackage{microtype}  % Small-scale typographic enhancements.
\usepackage{enumitem}   % User control over the layout of lists (itemize, enumerate, description).
\usepackage{multirow}   % Allows table elements to span several rows.
\usepackage{booktabs}   % Improves the typesettings of tables.
\usepackage{subcaption} % Allows the use of subfigures and enables their referencing.
\usepackage[ruled,linesnumbered,algochapter]{algorithm2e} % Enables the writing of pseudo code.
\usepackage[usenames,dvipsnames,table]{xcolor} % Allows the definition and use of colors. This package has to be included before tikz.
\usepackage{nag}       % Issues warnings when best practices in writing LaTeX documents are violated.
\usepackage{hyperref}  % Enables cross linking in the electronic document version. This package has to be included second to last.
\usepackage[acronym,toc]{glossaries} % Enables the generation of glossaries and lists fo acronyms. This package has to be included last.
\usepackage{bm}  % Improves the appearance of \boldmath and \boldsymbol.
\usepackage[bb=px]{mathalpha}  % A free \mathbb alphabet with a bold version.

% Define convenience functions to use the author name and the thesis title in the PDF document properties.
\newcommand{\authorname}{Forename Surname} % The author name without titles.
\newcommand{\thesistitle}{Thesis Title} % The title of the thesis. The English version should be used, if it exists.

% Set PDF document properties
\hypersetup{
    pdfpagelayout   = TwoPageRight,           % How the document is shown in PDF viewers (optional).
    linkbordercolor = {Melon},                % The color of the borders of boxes around crosslinks (optional).
    pdfauthor       = {\authorname},          % The author's name in the document properties (optional).
    pdftitle        = {Why does the Universe Use ℝ³?},         % The document's title in the document properties (optional).
    pdfsubject      = {Subject},              % The document's subject in the document properties (optional).
    pdfkeywords     = {a, list, of, keywords} % The document's keywords in the document properties (optional).
}

\setsecnumdepth{subsection} % Enumerate subsections.

\nonzeroparskip             % Create space between paragraphs (optional).
\setlength{\parindent}{0pt} % Remove paragraph identation (optional).

\makeindex      % Use an optional index.
\makeglossaries % Use an optional glossary.
%\glstocfalse   % Remove the glossaries from the table of contents.

% Set persons with 4 arguments:
%  {title before name}{name}{title after name}{gender}
%  where both titles are optional (i.e. can be given as empty brackets {}).
\setauthor{Pretitle}{\authorname}{Posttitle}{female}
\setadvisor{Pretitle}{Forename Surname}{Posttitle}{male}

% For bachelor and master theses:
\setfirstassistant{Pretitle}{Forename Surname}{Posttitle}{male}
\setsecondassistant{Pretitle}{Forename Surname}{Posttitle}{male}
\setthirdassistant{Pretitle}{Forename Surname}{Posttitle}{male}

% For dissertations:
\setfirstreviewer{Pretitle}{Forename Surname}{Posttitle}{male}
\setsecondreviewer{Pretitle}{Forename Surname}{Posttitle}{male}

% For dissertations at the PhD School:
\setsecondadvisor{Pretitle}{Forename Surname}{Posttitle}{male}

% Required data.
\setaddress{Address}
\setregnumber{0123456}
\setdate{01}{01}{2001} % Set date with 3 arguments: {day}{month}{year}.
\settitle{Incorrect Title}{Incorrect Title} % Sets English and German version of the title (both can be English or German).
%% Workaround for a bug in \settitle:
\makeatletter
\def\vutinfth@Title@english{\boldmath Why Does the Universe use \(\mathbb{R}^3\)?}
\def\vutinfth@Title@naustrian{\boldmath Why Does the Universe use \(\mathbb{R}^3\)?}
\makeatother

\setsubtitle{Optional Subtitle of the Thesis}{Optionaler Untertitel der Arbeit} % Sets English and German version of the subtitle (both can be English or German).

% Select the thesis type: bachelor / master / doctor / phd-school.
% Bachelor:
\setthesis{bachelor}
%
% Master:
%\setthesis{master}
%\setmasterdegree{dipl.} % dipl. / rer.nat. / rer.soc.oec. / master
%
% Doctor:
%\setthesis{doctor}
%\setdoctordegree{rer.soc.oec.}% rer.nat. / techn. / rer.soc.oec.
%
% Doctor at the PhD School
%\setthesis{phd-school} % Deactivate non-English title pages (see below)

% For bachelor and master:
\setcurriculum{Media Informatics and Visual Computing}{Medieninformatik und Visual Computing} % Sets the English and German name of the curriculum.

% For dissertations at the PhD School:
\setfirstreviewerdata{Affiliation, Country}
\setsecondreviewerdata{Affiliation, Country}

% Define convenience macros.
\newcommand{\todo}[1]{{\color{red}\textbf{TODO: {#1}}}} % Comment for the final version, to raise errors.


\begin{document}

\frontmatter % Switches to roman numbering.
% The structure of the thesis has to conform to
%  http://www.informatik.tuwien.ac.at/dekanat

\addtitlepage{naustrian} % German title page (not for dissertations at the PhD School).
\addtitlepage{english} % English title page.
\addstatementpage

\begin{danksagung*}
\todo{Ihr Text hier.}
\end{danksagung*}

\begin{acknowledgements*}
\todo{Enter your text here.}
\end{acknowledgements*}

\begin{kurzfassung}
\todo{Ihr Text hier.}
\end{kurzfassung}

\begin{abstract}
\todo{Enter your text here.}
\end{abstract}

% Select the language of the thesis, e.g., english or naustrian.
\selectlanguage{english}

% Add a table of contents (toc).
\tableofcontents % Starred version, i.e., \tableofcontents*, removes the self-entry.

% Switch to arabic numbering and start the enumeration of chapters in the table of content.
\mainmatter

\chapter{Introduction}
\todo{Enter your text here.}

\chapter{Additional Chapter}
\todo{Enter your text here.}

% Remove following line for the final thesis.
\input{intro.tex} % A short introduction to LaTeX.

\backmatter

% Use an optional list of figures.
\listoffigures % Starred version, i.e., \listoffigures*, removes the toc entry.

% Use an optional list of tables.
\listoftables % Starred version, i.e., \listoftables*, removes the toc entry.

% Use an optional list of alogrithms.
\listofalgorithms
\addcontentsline{toc}{chapter}{List of Algorithms}

% Add an index.
\printindex

% Add a glossary.
\printglossaries

% Add a bibliography.
\bibliographystyle{alpha}
\bibliography{intro}

\end{document}

相关内容