我有 3 个月的时间用法语写博士论文。我的 LaTeX 水平不错(写过几篇回忆录和许多文章),但是,我想知道您是否有任何关于此类工作的良好做法的建议(超过 100 页,图表、表格、参考书目、脚注……)
最好的办法是共享一个标题文件,其中包括写作过程中需要的所有包。
我告诉你我的想法:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{lipsum}
\begin{document}
\chapter{Chapter 1}
\section{A section}
\lipsum[1-10]
\chapter{Chapter 2}
\section{Another section}
\lipsum[1-10]
\end{document}
我还注意到了这个很好的链接: Jamie Stevens 的网页
欢迎提出任何其他建议。
答案1
除了已经说过的非常好的事情(版本控制和使用\includeonly{}
),这是我用法语写的博士论文所做的事情。我使用了这个标题(抱歉输入太长,还有法语评论):
\RequirePackage[l2tabu, orthodox]{nag}
%%% Déclaration
\documentclass[a4paper,frenchb,pdftex,11pt,twoside,openright]{book}
\input{makeat} % bidouillages en tout genre
% \includeonly{a-base}
% introduction, 0-contextePbTVHD, 1-testsub, 2-HDContexteQual, 3-evalImpactSysDegsurQual, 4-metriques, 5-eval, 6-modQualVid, 7-modClassif, a-base, b-transfoCouleur, conclusion, publications
%%% Packages
%% Packages de programmation
\usepackage{ifpdf}
\usepackage{ifthen}
%% Packages primordiaux
\usepackage[utf8]{inputenc}
\usepackage[LY1]{fontenc}
\shutup \usepackage{fourier} \youcanspeak % pour les maths (avec suppression des warnings) !! À mettre avant lmodern ou garamond !!
\usepackage{agaramondpro}
\usepackage[kerning=true,babel=true]{microtype}
\usepackage{textcomp}
\usepackage{setspace}
\usepackage[headheight=15.91pt]{geometry}
\usepackage{fancyhdr}
%% autres packages
% maths
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{array}
\usepackage{multirow}
\usepackage{mathtools}
% déco
\usepackage{lettrine}
\renewcommand{\LettrineFontHook}{\color[gray]{0.6}}
\usepackage{tikz}
\usetikzlibrary{arrows,patterns,plotmarks,backgrounds,shapes,shadows}
% layout
\usepackage[center, labelsep=endash]{caption} % avant subfig
\usepackage{subfig} % plusieurs figures en une seule (remplace subfigure)
\usepackage{pdfpages} % inclusion de pdf
\usepackage{titlesec}
\usepackage{wrapfig}
\usepackage[nottoc]{tocbibind}
\usepackage{colortbl}
\usepackage{booktabs}
\setlength{\heavyrulewidth }{0.2em}
% utile
\usepackage{lastpage}
\usepackage{eurosym}
\usepackage[utopia]{quotchap}
\renewcommand{\chapnumfont}{\usefont{LY1}{AGaramondPro}{b}{n}\fontsize{100}{130}\selectfont\color{chaptergrey}}
%% babel
\usepackage[english]{babel}
\usepackage[babel]{csquotes}
\MakeAutoQuote{«}{»}
% infos
\newcommand{\montitre}{Qualité d'usage en télévision haute définition : évaluations subjectives et métriques objectives}
\newcommand{\datesoutenance}{2 octobre 2008}
%% hyperref
\usepackage{graphicx} % Graphiques internes et externes
\usepackage{pstricks}
\usepackage{pdflscape}
\usepackage[hyperindex, plainpages=false, pdfpagelabels, pagebackref, colorlinks=false, hypertexnames=false]{hyperref}
\hypersetup{
pdftitle={\montitre},
pdfauthor={...},
pdfsubject={...},
}
\usepackage[all]{hypcap}
%%% Commandes
\newcommand{\ornementChapitre}{\begin{center}\begin{Large}\textorn{2}\end{Large}\end{center}}
%% centrage des colonnes sur plusieurs lignes
\renewcommand\multirowsetup{\centering}
%% création d'un type de colonne centrée de largeur 1.5
\newcolumntype{D}{>{\centering}p{1.5cm}}
%% notes dans la marge
\newcommand{\note}[1]{\marginpar{%
\vskip-\baselineskip %raise the marginpar a bit
\raggedright\footnotesize
\color{red}{\itshape\hrule\smallskip#1}\par\smallskip\hrule}}
\newcommand{\nonotes}{\renewcommand{\note}[1]{}}
%% strong %%
\DeclareRobustCommand{\strong}[1]{%
\textbf{#1}%
}
%% dédicace %%
\DeclareRobustCommand{\dedicace}[1]{%
\clearemptydoublepage
\thispagestyle{empty}
\vspace*{\stretch{1}}\par
{\begin{flushright}\emph{#1}\end{flushright}\par}
\vspace*{\stretch{2}}
}
%% sur-paragraphe (ligne entre deux groupes de paragraphes) %%
\DeclareRobustCommand{\surparagraph}{%
\par\medskip
}
%% raccourcis %%
\newcommand\avc{H.264}
\newcommand\ituCC{ITU-R BT.500-11~\cite{itu-bt500-11}}
\newcommand\ituNfDx{ITU-T P.910~\cite{itu-bt910}}
%%% Paramétrages du document
%% url dans la même police que le reste
\urlstyle{rm}
%% profondeur de la table des matières
\setcounter{tocdepth}{2}
% \setcounter{secnumdepth}{8}
% on définit l'interligne pour tout le document
\onehalfspacing
% modification de la table des matières -- options titletoc
\usepackage{titletoc}
\titlecontents{part}
[3pc]
{\addvspace{1.5pc}\filcenter\hrule height 1pt \Large{\textbf{Partie}}~}
{\Large\textbf}
{\Large\textbf}
{}
[\hrule height 1pt\addvspace{.5pc}]
%% redéfinition des labels (tableaux, figures, etc.) % voir french.cfg
\addto\captionsfrench{\def\figurename{Figure}}
\addto\captionsfrench{\def\tablename{Tableau}}
\addto\captionsfrench{\def\listfigurename{Table des illustrations}}
%% définition des en-têtes et pieds de page
\pagestyle{fancy}
\fancyhf{} % on efface tout
\fancyhead[RO]{\nouppercase{\emph{\rightmark}}}
\fancyhead[LE]{\nouppercase{\emph{\leftmark}}}
\fancyfoot[RO,LE]{\ifthenelse{\value{page}=42}{\strong{--~\reflectbox{\thepage}~--}}{\strong{--~\thepage~--}}} % h2g2 style
\fancypagestyle{plain}{ % pour les pages de chapitre
\fancyhf{} % on efface tout
\fancyfoot[RO,LE]{\ifthenelse{\value{page}=42}{\strong{--~\reflectbox{\thepage}~--}}{\strong{--~\thepage~--}}} % h2g2 style
\renewcommand{\headrulewidth}{0pt}}
%% on enlève le pied et l'en-tête d'une page paire vide
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{%
\clearpage
{\pagestyle{empty}\origdoublepage}%
}
\let\cleardoublepage\clearemptydoublepage
%%% On attaque le vif du sujet
\title{Qualité d'usage en télévision haute définition : \\évaluations subjectives et métriques objectives}
\author{Stéphane Péchard}
\date{\datesoutenance}
\begin{document}
...
\end{document}
如果你有兴趣看结果,你可以在这里找到:http://tel.archives-ouvertes.fr/tel-00348586/fr/
答案2
使用每个章节的包含文件。然后,您可以取消注释列表中的单个章节以加快编译速度,并且单个文件较小,这使得代码内的导航更容易。所有参考资料、页码都将正确。在此示例代码中,\includeonly{}
我将文件命名为intro.tex
、chap1.tex
和。并使用或也许是更好的选择。chap2.tex
bib.tex
memoir
scrbook
\documentclass{book}
\input{preamble}% no \include here possible!
\includeonly{%
intro,
chap1,
chap2,
bib
}
\begin{document}
\include{intro}
\include{chap1}
\include{chap2}
\include{bib}
\end{document}
- 一个
\include
可以有多个\input
,但不能有其他\include
,并且不能在文档的序言部分使用 - 可以
\input
在任何地方使用,也可以嵌套;代码将准确地插入到\input
出现的位置
答案3
使用某种版本控制。这已经帮助了我很多次。
在与其他人一起工作时它特别方便(也使用谷歌项目),但在单独工作时它也可以提供救命的救援(例如,当你在疲倦/醉酒时更改了一个段落并想将其改回来时)。
我还喜欢隐藏 tex 创建的多余文件(用于引用、图形 (gnuplot)、toc、tos 等)的方式。这些文件不应添加到您的存储库中,因此它们不会使文件夹变得太杂乱。
我使用 Cornerstone 来处理 Subversion,虽然不是免费的,但非常棒。您也可以通过快速的 Google 搜索找到免费的应用程序。
颠覆万岁!
另一件需要考虑的事情是使用修改后的标题,这样在处理单独的章节/部分文件时就可以生成它们。
我用:
标题.TEX:
\providecommand{\setflag}{\newif \ifwhole \wholefalse}
\setflag
\ifwhole\else
\documentclass[10pt,a4paper,oneside]{book}
\input{package.tex}
\input{tweak.tex}
\input{commando.tex}
%\input{font}
\usepackage{MnSymbol}
\usepackage{esint}
\begin{document}
\fi
END.TEX:
\ifwhole\else
\end{document}
\fi
主要特克斯:
\input{header.tex}
\author{Romeo Van Snick}
\title{Thesis 1}
\date{\today}
\renewcommand{\setflag}{\newif \ifwhole
\wholetrue}
%DOCUMENT
\maketitle
\tableofcontents
\include{CHAPTER1.TEX}
\include{CHAPTER2.TEX}
...
\end{document}
第 1 章.TEX:
\input{header.tex}
this is chapter 1...
\input{end.tex}
这样我就可以分别编写和排版每个章节,最后将它们全部添加到文件中MAIN.TEX
。这样,当我编辑第 10 章并想要检查我的更改时,我就不必等待太久了。
package.tex、commando.tex 和 tweaking.tex 文件包含我序言中通常包含的所有内容。我已将序言妥善地藏在这些文件中,以便以后需要以相同风格撰写另一篇论文时可以使用它们。
祝你的论文顺利!
问候,罗密欧