我正在使用自己的课程MyReportClass
撰写报告。我想在一个小节标题中使用数学表达式。这只有在我禁用\tableofcontents
包含在\initialise
类命令
我已经尝试过\DeclareRobustCommand
从中汲取灵感这和这答案,但我没有成功。我怎样才能让我的数学表达式在目录中也能起作用?
主要的:
\documentclass{MyReportClass}
\begin{document}
\reporttitle{My Title}
\coursecode{1234}
\coursename{My Course}
\instructorname{Instructor Name}
\reportauthor{Name}{Surname}{1234}
\frontcoverpic{mypicture.png}
\initialise
\section{A section}
\subsubsection{A matrix $\widetilde{\mathbb{E}}^{(2,1)}$}
\end{document}
班级:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{MyReportClass}
\LoadClass[a4paper,12pt]{article} % Class of the document
%--------------------- Packages ------------------------
\RequirePackage[english]{babel} % Langueage of the document
\RequirePackage[utf8]{inputenc} % Special characters
\RequirePackage[section]{placeins} % For format of sections
\RequirePackage[T1]{fontenc} % Letters not included in UTF-8
\RequirePackage{mathtools} % Equations and mathematic symbols
\RequirePackage{siunitx} % Scientific notation
\RequirePackage{float} % Images formatting
\RequirePackage{graphicx} % Insert figures
\RequirePackage{tikz}
\RequirePackage[justification=centering]{caption} % Centred legends
\RequirePackage{subcaption}
\RequirePackage{wallpaper}
\RequirePackage{nomencl}
\RequirePackage{fancyhdr}
\RequirePackage{url}
\RequirePackage[pdfencoding=auto,psdextra]{hyperref} % Legends in sub-figures
\RequirePackage{amsmath,bm,amssymb}
\RequirePackage{amsfonts}
\RequirePackage{bookmark} % Faster updated bookmarks
\RequirePackage{textcomp}
% Package for nice tables
\RequirePackage{booktabs,makecell}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\sisetup{
% output-decimal-marker = {,},
detect-weight,
mode = text
}
\newcommand*{\specialcell}[2][b]{%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}%
}
\newcommand*{\specialcellbold}[2][b]{%
\bfseries
\sisetup{text-rm = \bfseries}%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}%
}
\newcommand*{\leftspecialcell}[2][b]{%
\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}%
}
%Package for labelling matrix rows and columns
\RequirePackage{blkarray}
% Package to adjust labelled matrices
\RequirePackage{makebox,bigstrut,relsize}
% Page configuration
\RequirePackage{geometry}
\geometry{a4paper,hscale=0.75,vscale=0.8}
%Package to modify chapter header
%\RequirePackage{titlesec}
%Color for sections head
\RequirePackage{color}
\definecolor{tdblue}{RGB}{0,174,239}
\RequirePackage{sectsty}
\sectionfont{\color{tdblue}}
\subsectionfont{\color{tdblue}}
\subsubsectionfont{\color{tdblue}}
%MATLAB command
\RequirePackage{xspace}
\newcommand{\MATLAB}{\textsc{Matlab}\xspace}
%Typesetting a MATLAB code
\RequirePackage[T1]{fontenc}
\RequirePackage{bigfoot} % to allow verbatim in footnote
\RequirePackage[numbered,framed]{matlab-prettifier}
\RequirePackage{filecontents}
\let\ph\mlplaceholder % shorter macro
\lstMakeShortInline"
\lstset{
style = Matlab-editor,
basicstyle = \mlttfamily,
escapechar = ",
mlshowsectionrules = true,
}
% Per-section figure, equation, table and lstlisting numbering
\RequirePackage{chngcntr}
\counterwithin{figure}{section}
\counterwithin{equation}{section}
\counterwithin{table}{section}
\AtBeginDocument{\counterwithin{lstlisting}{section}}
% Package for references with numbers
\bibliographystyle{apsrev4-1}
\RequirePackage[numbers]{natbib}
\setcitestyle{numbers}
%-------------------- Report information ----------------------
\graphicspath{{figures/}}
\newcommand{\coursecode}[1]{\renewcommand{\coursecode}{#1}}
\newcommand{\coursename}[1]{\renewcommand{\coursename}{#1}}
\newcommand{\instructorname}[1]{\renewcommand{\instructorname}{#1}}
\newcommand{\reporttitle}[1]{\renewcommand{\reporttitle}{#1}}
\newcommand{\reportauthor}[3]{\renewcommand{\reportauthor}{#1 {\scshape #2} \dots\dots {\bfseries #3}}}
\newcommand{\frontcoverpic}[1]{\renewcommand{\frontcoverpic}{\includegraphics[width=0.5\textwidth]{./figures/#1}}}
\newcommand{\makemargins}{
\makenomenclature
\pagestyle{fancy}
\fancyheadoffset{1cm}
\setlength{\headheight}{2cm}
\lhead{\includegraphics[width=0.25\textwidth]{./logos/logo.pdf}} % Set image at top of the page
\rhead{\nouppercase{\leftmark}}
\rfoot{\thepage}
\cfoot{\textbf{\reporttitle}}
\lfoot{\coursecode}
}
\newcommand{\makecoverpage}{
\begin{titlepage}
\centering % Center the content
\includegraphics[width=0.4\textwidth]{./logos/logo_blue.pdf}\par\vspace{1cm} % Insert logo
{\scshape\LARGE Delft University of Technology \par} % Name of the university
\vspace{1cm} % Vertical space of 1.5 cm
{\scshape\Large \coursename \\ \large \coursecode \\ \normalsize \instructorname \par}
\vspace{0.5cm} % Vertical space of 1 cm
\rule{\linewidth}{0.2 mm} \\[0.4 cm]
{\huge\bfseries \reporttitle \par} \
\rule{\linewidth}{0.2 mm} \\[1 cm]
\vspace{0.5cm}
\frontcoverpic\\[1.5 cm]
\normalsize \reportauthor\\
\vfill
{\large \today\par} % Visualization of the date
\end{titlepage}
}
\newcommand{\initialise}{
\makemargins
\makecoverpage
\tableofcontents
\newpage
}
% Define newcommand for norm
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
答案1
仅用于\protect
避免脆弱命令的扩展。
\subsubsection{A matrix $\protect\widetilde{\protect\mathbb{E}}^{(2,1)}$}
重新编译文档之前,请删除 .toc 和 .aux 文件。这样应该就可以了。
顺便说一句,提供一个可以在不包含图形的情况下编译的 MWE。