![将章节标题的字体大小更改为与节的字体大小相同](https://linux22.com/image/276418/%E5%B0%86%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E7%9A%84%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%E6%9B%B4%E6%94%B9%E4%B8%BA%E4%B8%8E%E8%8A%82%E7%9A%84%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%E7%9B%B8%E5%90%8C.png)
我有一份回忆录文件,其中有mystyle
章节是从修改默认回忆录章节样式。
如何将章节的字体大小改为与节的字体大小相同?或者,如何更改整个章节的字体大小?
\documentclass[12pt,oneside]{memoir}
\title{Document}
\author{prosseek}
% }
% https://tex.stackexchange.com/questions/97465/modify-default-memoir-chapter-style
\makeatletter
\newcommand{\fonttitle}{\chaptitlefont}
\makechapterstyle{mystyle}{%
\def\chapterheadstart{\vspace*{\beforechapskip}}
\def\printchaptername{}
\def\printchapternum{}
\def\printchapternonum{}
\def\printchaptertitle##1{\fonttitle \space \fonttitle \thechapter.\space \fonttitle ##1}
\def\afterchaptertitle{\par\nobreak\vskip \afterchapskip}
}
\makeatother
\chapterstyle{mystyle}
\begin{document}
\maketitle
\tableofcontents
\chapter{The Domain Problem and Stakeholders}
\section{First}
abcdef.
\end{document}
答案1
由于您已将其定义\fonttitle
为章节的字体,因此只需替换
\newcommand{\fonttitle}{\chaptitlefont}
和
\newcommand{\fonttitle}{\secheadstyle}
请注意,\chaptitlefont
对应于\Huge\bfseries
while \secheadstyle
(部分中使用的默认值)对应于\Large\bfseries
(参见第 6.9 节memoir
手动的)。
完整代码:
\documentclass[12pt,oneside]{memoir}
\title{Document}
\author{prosseek}
% }
% http://tex.stackexchange.com/questions/97465/modify-default-memoir-chapter-style
\makeatletter
\newcommand{\fonttitle}{\secheadstyle}
\makechapterstyle{mystyle}{%
\def\chapterheadstart{\vspace*{\beforechapskip}}
\def\printchaptername{}
\def\printchapternum{}
\def\printchapternonum{}
\def\printchaptertitle##1{\fonttitle \space \fonttitle \thechapter.\space \fonttitle ##1}
\def\afterchaptertitle{\par\nobreak\vskip \afterchapskip}
}
\makeatother
\chapterstyle{mystyle}
\begin{document}
\maketitle
\tableofcontents
\chapter{The Domain Problem and Stakeholders}
\section{First}
abcdef.
\end{document}
输出:
顺便说一句:所有冗余部分\fonttitle
都可以消除,你可以简单地这样写:
\def\printchaptertitle##1{\fonttitle \space \thechapter.\space ##1}
此外,\makeatletter
和\makeatother
是不需要的,因为它们之间的代码不包含字符@
。