我想重新定义\@maketitle
命令scrbook
。为此,我需要scrbook
类的源代码。我的电脑上没有安装 Miktex 或 Texlive,我只使用 sharelatex。
我知道可以使用\show
或\meaning
获取定义,但我需要一个显示缩进的输出。
答案1
正如我在评论中指出的那样,
CTAN 是一个很好的来源,也是我最先想到的地方。对于scrbook
,请尝试ctan.org/pkg/scrbook?lang=en
。在该页面上有一个 TDS 存档,koma-script.tds.zip
文件下载。在 zip 文件子目录中,您将找到:tex\latex\koma-script\scrbook.cls
。V3.24 已确认。
的定义\@maketitle
是
\newcommand*{\@maketitle}{%
\global\@topnum=\z@
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative
\ifx\@titlehead\@empty \else
\begin{minipage}[t]{\textwidth}
\usekomafont{titlehead}{\@titlehead\par}%
\end{minipage}\par
\fi
\null
\vskip 2em%
\begin{center}%
\ifx\@subject\@empty \else
{\usekomafont{subject}{\@subject \par}}%
\vskip 1.5em
\fi
{\usekomafont{title}{\huge \@title \par}}%
\vskip .5em
{\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}%
\vskip 1em
{%
\usekomafont{author}{%
\lineskip .5em%
\begin{tabular}[t]{c}
\@author
\end{tabular}\par
}%
}%
\vskip 1em%
{\usekomafont{date}{\@date \par}}%
\vskip \z@ \@plus 1em
{\usekomafont{publishers}{\@publishers \par}}%
\ifx\@dedication\@empty \else
\vskip 2em
{\usekomafont{dedication}{\@dedication \par}}%
\fi
\end{center}%
\par
\vskip 2em
}%
答案2
当您使用 ShareLaTeX 时,您必须修补scrbook.cls
ShareLaTeX 提供的。
在 ShareLaTeX 上编译以下文档以获取正确的源代码(96 页,彩色):
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
%\usepackage[margin=1cm]{geometry}
\usepackage{fancyvrb}
\usepackage{listings}
\usepackage{accsupp}
\newcommand*{\noaccsupp}[1]{\BeginAccSupp{ActualText={}}#1\EndAccSupp{}}
\title{\texttt{scrbook.cls} listing on ShareLaTeX}
\author{Paul Gaborit}
\date{February 2018}
\lstdefinestyle{latex}{
fancyvrb=true,
language=[LaTeX]TeX,
basicstyle=\ttfamily\scriptsize,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{red!50!black}\itshape,
stringstyle=\ttfamily\color{green!50!black},
numbers=left,
numberstyle=\tiny\color{gray}\noaccsupp,
stepnumber=1,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
%backgroundcolor=\color{white},
frame=leftline,
rulecolor=\color{gray!30},
fontadjust=true,
aboveskip=0pt,
belowskip=0pt,
emphstyle=\color{red},
keepspaces=true,
flexiblecolumns=true,
xleftmargin=1.2em,
}
\begin{document}
\maketitle
\lstinputlisting[style=latex]{scrbook.cls}
\end{document}
答案3
您问错了问题,这在 tex.sx 上经常发生。您(可能)是 LaTeX 的新手,并且想要对您的文章/报告/书籍的标题做些什么。
请提出一个新问题,说明您最终想要实现什么目标。
侵入 KOMA-script 包之类的主线包可能不值得付出努力,也不是可行的方法。许多布局无需这样做即可实现。只需询问并添加 MWE 即可。