![如何用 LaTeX 写出干净、有条理的序言?](https://linux22.com/image/410906/%E5%A6%82%E4%BD%95%E7%94%A8%20LaTeX%20%E5%86%99%E5%87%BA%E5%B9%B2%E5%87%80%E3%80%81%E6%9C%89%E6%9D%A1%E7%90%86%E7%9A%84%E5%BA%8F%E8%A8%80%EF%BC%9F.png)
我希望每个人都平安,并安然度过我们所面临的健康危机。
我今天的问题可能是基本的,但让我们开始吧:
几个月前,我们中的一个人在回答我的一个问题时说,我的序言很混乱, 那我们不知道你要用它做什么,。
我首先要向他表示衷心的感谢,并提出一个问题:
如何组织序言?我上过几节关于使用 LaTeX 的课,但没有人关心如何向我们介绍一种有效组织序言的方法,以便我们以后可以阅读和重读它。
事实上,我自己也面临着问题,无法弄清楚某些事物在哪里,因为我觉得它没有任何结构(但也许这是我的一个更普遍的问题)。
下面,我向您展示了我的序言(带有屏幕截图,这样当那位好用户对此发表评论时,我更容易避免整个混乱的复制/粘贴)。
%-----(A CORRIGER)-----%
% corriger la hauteur des "en-têtes" pour permettre l'insertion des en-têtes intermédiaires qui reprennent les titres de chapitres/section". (cf log triangle jaune) --> solution trouvée avec les titres courts => \chapter [titre court] {titre long}%
%--------------------------%
%-----(BEGIN PREAMBLE)-----%
%--------------------------%
\documentclass[a4paper,12pt ,twoside ,openright ,extrafontsizes]{memoir}
\raggedbottom
%[twoside] est utilisé pour indiquer que le document sera imprimé recto-verso.%
%[openright] est utilisé pour indiquer que tout nouveau chapitre doit commencer sur un recto.%
%[extrafontsizes] est utilisé pour permettre, si l'on veut, le recours à des tailles de polices d'écritures dépassant les 25pt.
%-----( BEGIN PACKAGEs)-----%
%---------------------------%
\usepackage[utf8]{inputenc} %obligatoire%
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{xcolor}%pour surligner du texte (la commande en cours de frappe est : \colorbox{couleur}{texte à surligner}%
\usepackage{soulutf8} %la commande pour surligner est : \texthl{texte à surligner}
\usepackage{ulem}
%-----(BEGIN MACRO)-----%
%-----------------------%
%enclenche le style de chapitre utilisé (pour d'autres exemples compatibles, voir "the memoir class (2018) p.385 et sq.)
\newcommand*{\sclabel}[1]{\normalfont\scshape #1} %à voir si je conserve, permet de personnaliser les étiquettes des items des listes...
\OnehalfSpacing %interligne 1,5
%-----CHAPTER STYLE "ELL" (BEGIN)-----%
\makeatletter %ne pas oublier cette balise lorsque l'on copie/colle un bout de code tel quel%
\makechapterstyle{ell}{%
\chapterstyle{default}
\renewcommand*{\chapnumfont}{\normalfont\HUGE\sffamily}
\renewcommand*{\chaptitlefont}{\normalfont\huge\sffamily}
\settowidth{\chapindent}{\chapnumfont 111}
% \renewcommand*{\chapterheadstart}{\begingroup
% \vspace*{\beforechapskip}%
% \begin{adjustwidth}{}{-\chapindent}%
% \hrulefill
% \smash{\rule{0.4pt}{15mm}}
% \end{adjustwidth}\endgroup}
\renewcommand*{\printchaptername}{}
\renewcommand*{\chapternamenum}{}
\renewcommand*{\printchapternum}{%
% \begin{adjustwidth}{}{-\chapindent}
% \hfill
% \raisebox{10mm}[0pt][0pt]{\chapnumfont \thechapter}%
% \hspace*{1em}
% \end{adjustwidth}\vspace*{-3.0\onelineskip}
\chs@ell@helper{\thechapter}%
}
\renewcommand\printchapternonum{%
\chs@ell@helper{}\afterchapternum}
\renewcommand*{\printchaptertitle}[1]{%
%\vskip\onelineskip
\raggedleft {\chaptitlefont ##1}\par\nobreak}}
\makeatother % et ne pas oublier celle-ci pour clore le cadre créé par \makeatletter en début de copier/coller.
%-----CHAPTER STYLE "ELL" (END)-------%
\chapterstyle{ell}%à placer après la section ci-dessus qui reparamètre certains aspects du "chapterstyle ELL". Si on place la commande avant, elle chargera la configuration d'origine au lieu de prendre encompte les modifications ci-dessus.
\setsecnumdepth{section}%indique à partir de quel niveau de titre on numérote
\maxsecnumdepth{subsubsection}%indique jusqu'à quel niveau de titre on numérote
\setlength{\headheight}{15.5pt}
%-----(END MACRO)-----%
%---------------------%
%--------------------------%
%------(END PREAMBLE)------%
%--------------------------%
我只是就如何做事寻求建议。
正如您所见,我使用了 memoir 类,我可能错误地命名了我的部分。因为我现在意识到,我从 memoirclass 源文件中复制/粘贴的整个“‘ELL’章节样式代码”无论如何都不是“宏”。
无论如何,我想感谢那个人,以及所有过来阅读我的文章并可能给我提供建议的人,
再次感谢并注意安全!
埃尔拉德
答案1
我也讨厌 \begin{document} 前面的那些又大又乱的代码。我每次开始新项目时都会复制并粘贴所有这些代码,我认为这不太优雅。我的解决方案:
创建一个 .sty 文件,在其中放置前言。然后您只需将该 .sty 导入到您的代码中。当您开始一个新项目时,您只需复制并粘贴该 .sty。
我创建了一个包含不同 .sty 的文件夹,每个 .sty 都有不同的样式。我现在要做的就是从该文件夹导入正确的 .sty(最好的部分是,我创建了一个界面,每个 .sty 都相同。因此,我只需导入不同的 .sty 即可编译具有不同样式的相同文档。当您撰写论文并想看看我在 DnD 样式中的样子时,这非常有趣)
这并不是清理混乱代码的正确方法,但我希望我能给你提供一个想法,让你的代码看起来更好,并且能与已经清理好的前言更好地协同工作。c: