把它放在一起

把它放在一起

我有一个有点奇怪的模板,我应该用它来提交我的专业论文。我将代码作为一个最小的工作示例供您查看:

\documentclass[11pt,spanish,a4paper]{article}    
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\setlength{\parskip}{2ex}
\setlength{\parindent}{0pt}
\usepackage{textcomp}
\usepackage{url}
\usepackage{graphicx}
\usepackage{setspace}
\onehalfspacing
\usepackage{amssymb}
\usepackage{mwe} % added for me

\makeatletter

% language
\usepackage[spanish]{babel}

% tables
\usepackage{booktabs}

% characters
\usepackage{textcomp}

% rotate tables
\usepackage{rotating}


% bibliography will appear in the table of contents
%\usepackage[nottoc]{tocbibind}

%margins
\usepackage{vmargin}

\setmarginsrb           { 4.0cm}  % left margin
                        { 4.0cm}  % top margcm
                        { 2.0cm}  % right margcm
                        { 3.0cm}  % bottom margcm
                        {  10pt}  % head height
                        {0.25cm}  % head sep
                        {   9pt}  % foot height
                        { 0.5cm}  % foot sep

% insertion url's footnotes.
\usepackage{url}

% Packages from the AMS:
\usepackage{amsthm}
\usepackage{amsfonts}


% Theorems
%--------------------------------------------------------------------------
\newtheorem{thm}{Teorema}[section]
\newtheorem{cor}[thm]{Corolario}
\newtheorem{lem}[thm]{Lema}
\newtheorem{prop}[thm]{Proposición}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definición}
\theoremstyle{remark}
\newtheorem{rem}[thm]{Observación}

% Shortcuts.
%--------------------------------------------------------------------------

\def\RR{\mathbb{R}}
\def\ZZ{\mathbb{Z}}

%--------------------------------------------------------------------------
\newcommand{\abs}[1]{\left\vert#1\right\vert}


\newcommand{\portada}{
\begin{titlepage}
\begin{center}

{\large \bf TÍTULO DE LA DISERTACIÓN }
\vfill
%{\large\bf PRESENTADO POR \par}
{\large\bf NOMBRE DEL ALUMNO }\\
{\large\bf Código: 00000000001 }
\vfill
{\large\bf UNIVERSIDAD DISTRITAL  \par}
{\large\bf FACULTAD DE INGENIERÍA \par}
{\large\bf ESPECIALIZACIÓN EN ... \par}
{\large\bf D.C.\par}
{\large\bf NOVIEMBRE 2014 \par}
\end{center}
\end{titlepage}
}

\newcommand{\contraportada}{
\begin{titlepage}
\begin{center}
{\large \bf TÍTULO DE LA DISERTACIÓN }
\vfill       
%             {\large\bf PRESENTADO POR \par}
{\large\bf NOMBRE DEL ALUMNO } \\
{\large\bf Código: 00000000001 }
\vfill
{\large\bf Proyecto de grado \par}
\vfill
{\large\bf Director: Nombre Director \par}
\vfill
{\large\bf UNIVERSIDAD DISTRITAL  \par}
{\large\bf FACULTAD DE INGENIERÍA \par}
{\large\bf ESPECIALIZACIÓN EN ... \par}
{\large\bf D.C.\par}
{\large\bf NOVIEMBRE 2014 \par}
\end{center}
\end{titlepage}
}

\makeatother

%\usepackage{babel}
\deactivatetilden

\hyphenation{auto-re-gu-la-do}

\begin{document}
\portada
\Blinddocument
\end{document}

\makeatletter我的第一个疑问是关于和的使用\maketatother。据我所知,这些命令对于在代码中添加重新定义或对类的标准值进行小幅更改很有用,但这里有很多代码。 和 在某些软件包中也是多余的,但这没问题吗?

那么页面尺寸呢?这样做是否比使用几何更好?

为什么要以那样的方式构建标题页,这是最好的做法吗?

我对 LaTeX 的使用经验不多,但就我目前见过的少量代码而言,这很奇怪。我的疑虑主要围绕两个问题:一是最佳实践,我看到并感觉到此代码不是最佳解决方案,二是效率问题。我想,尽管当今的计算机拥有许多资源,但优化 LaTeX 中的代码仍然是一个好主意,从这个意义上说,它已经优化了吗?

您能给我什么建议?如何改进这个模板?

答案1

\documentclass[11pt,spanish,a4paper]{article}    
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

到目前为止还可以,只是论文通常有章节,所以bookreport可能更可取。

\setlength{\parskip}{2ex}
\setlength{\parindent}{0pt}

更好的使用parskip

\usepackage{parskip}% but do you really want no indentation in a thesis?
\setlength{\parskip}{2ex}% if desired

...

\usepackage{textcomp}
\usepackage{url}
\usepackage{graphicx}
\usepackage{setspace}
\onehalfspacing
\usepackage{amssymb}
\usepackage{mwe} % added for me

好的,我认为。

\makeatletter

不需要。

% language
\usepackage[spanish]{babel}

不需要该选项 - 它已经在文档类选项中了。

% tables
\usepackage{booktabs}

% characters
\usepackage{textcomp}

% rotate tables
\usepackage{rotating}


% bibliography will appear in the table of contents
%\usepackage[nottoc]{tocbibind}

%margins
\usepackage{vmargin}

\setmarginsrb           { 4.0cm}  % left margin
                        { 4.0cm}  % top margcm
                        { 2.0cm}  % right margcm
                        { 3.0cm}  % bottom margcm
                        {  10pt}  % head height
                        {0.25cm}  % head sep
                        {   9pt}  % foot height
                        { 0.5cm}  % foot sep

一点都不好。geometry如果允许的话,用起来会更好。

% insertion url's footnotes.
\usepackage{url}

% Packages from the AMS:
\usepackage{amsthm}
\usepackage{amsfonts}


% Theorems
%--------------------------------------------------------------------------
\newtheorem{thm}{Teorema}[section]
\newtheorem{cor}[thm]{Corolario}
\newtheorem{lem}[thm]{Lema}
\newtheorem{prop}[thm]{Proposición}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definición}
\theoremstyle{remark}
\newtheorem{rem}[thm]{Observación}

% Shortcuts.
%--------------------------------------------------------------------------

\def\RR{\mathbb{R}}
\def\ZZ{\mathbb{Z}}

正如 egreg 在评论中提到的那样,在这里使用 etc. 会更好,\newcommand*{\RR}{\mathbb{R}}因为这将包括额外的检查。(例如,它不会允许您在不知情的情况下覆盖现有命令。)

%--------------------------------------------------------------------------
\newcommand{\abs}[1]{\left\vert#1\right\vert}

我不太清楚这些。这不是我的领域。

\newcommand{\portada}{
\begin{titlepage}
\begin{center}

{\large \bf TÍTULO DE LA DISERTACIÓN }

不好。20\bf年前就弃用了。改用\textbf{}\bfseries。使用大小开关(例如\large)时,通常应在命令范围内结束段落,以获得正确的行距。由于\vfill后面有一个,这可能不会有太大区别,但一个\par也不会有什么坏处。

\vfill
%{\large\bf PRESENTADO POR \par}
{\large\bf NOMBRE DEL ALUMNO }\\
{\large\bf Código: 00000000001 }
\vfill
{\large\bf UNIVERSIDAD DISTRITAL  \par}
{\large\bf FACULTAD DE INGENIERÍA \par}
{\large\bf ESPECIALIZACIÓN EN ... \par}
{\large\bf D.C.\par}
{\large\bf NOVIEMBRE 2014 \par}
\end{center}
\end{titlepage}
}

\newcommand{\contraportada}{
\begin{titlepage}
\begin{center}
{\large \bf TÍTULO DE LA DISERTACIÓN }
\vfill       
%             {\large\bf PRESENTADO POR \par}
{\large\bf NOMBRE DEL ALUMNO } \\
{\large\bf Código: 00000000001 }
\vfill
{\large\bf Proyecto de grado \par}
\vfill
{\large\bf Director: Nombre Director \par}
\vfill
{\large\bf UNIVERSIDAD DISTRITAL  \par}
{\large\bf FACULTAD DE INGENIERÍA \par}
{\large\bf ESPECIALIZACIÓN EN ... \par}
{\large\bf D.C.\par}
{\large\bf NOVIEMBRE 2014 \par}
\end{center}
\end{titlepage}
}

有更优雅的方法,但如果字体命令等按照上述说明进行更正,这也不错。这些东西的标题页总是有点一次性,因为它们需要根据各种奇怪的机构指南进行格式化。它们通常需要以某种方式手动设置。如果它不在这里,它将在类或包文件中。(从混乱的角度来看,这可能更合理,但代码是一样的。)

\makeatother

不需要。

%\usepackage{babel}

再次?

\deactivatetilden

不知道。

\hyphenation{auto-re-gu-la-do}

\begin{document}
\portada
\Blinddocument
\end{document}

把它放在一起

您可能想要类似以下内容。我尝试使用 来模拟边距设置geometry,但最终,我认为从他们想要的尺寸开始工作会更容易,而不是试图弄清楚他们希望vmargin做什么。所以我建议获取值,然后使用\geometry{}选项verbose(也许showframe)来找出正确的配置。

\documentclass[11pt,spanish,a4paper,oneside]{book}% or report
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{parskip}
\setlength{\parskip}{2ex}
% characters
\usepackage{textcomp}
% insertion url's footnotes.
\usepackage{url}
\usepackage{graphicx}
\usepackage{setspace}
\onehalfspacing
\usepackage{mwe} % added for me

% language
\usepackage{babel}

% tables
\usepackage{booktabs}

% rotate tables
\usepackage{rotating}

% bibliography will appear in the table of contents
%\usepackage[nottoc]{tocbibind}

%margins
\usepackage{geometry}% find out the desired page dimensions and work from those to emulate the intended effect of vmargin (I think this will be easier than trying to base it on vmargin's configuration)

% Packages from the AMS:
\usepackage{mathtools}% loads amsmath plus enhancements and fixes
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsfonts}

% Theorems
%--------------------------------------------------------------------------
\newtheorem{thm}{Teorema}[section]
\newtheorem{cor}[thm]{Corolario}
\newtheorem{lem}[thm]{Lema}
\newtheorem{prop}[thm]{Proposición}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definición}
\theoremstyle{remark}
\newtheorem{rem}[thm]{Observación}

% Shortcuts.
%--------------------------------------------------------------------------

\newcommand*\RR{\mathbb{R}}% improved checking when defining new commands (better than \def)
\newcommand*\ZZ{\mathbb{Z}}

%--------------------------------------------------------------------------
\newcommand{\abs}[1]{\left\vert#1\right\vert}

\newcommand{\portada}{
  \begin{titlepage}
    \begin{center}% I would tend to use \centering but that will change the vertical spacing here so best go with this
      \large\bfseries% \bf is loooonnnng deprecated; no need to keep switching size and weight since all the switches are identical
      TÍTULO DE LA DISERTACIÓN
      \vfill
      %PRESENTADO POR \par
      NOMBRE DEL ALUMNO\\
      Código: 00000000001
      \vfill
      UNIVERSIDAD DISTRITAL\par
      FACULTAD DE INGENIERÍA\par
      ESPECIALIZACIÓN EN ...\par
      D.C.\par
      NOVIEMBRE 2014\par
    \end{center}
  \end{titlepage}}

\newcommand{\contraportada}{
  \begin{titlepage}
    \begin{center}
      \large\bfseries
      TÍTULO DE LA DISERTACIÓN
      \vfill
      %PRESENTADO POR \par
      NOMBRE DEL ALUMNO\\
      Código: 00000000001
      \vfill
      Proyecto de grado\par
      \vfill
      Director: Nombre Director\par
      \vfill
      UNIVERSIDAD DISTRITAL\par
      FACULTAD DE INGENIERÍA\par
      ESPECIALIZACIÓN EN ...\par
      D.C.\par
      NOVIEMBRE 2014\par
    \end{center}
  \end{titlepage}}

\deactivatetilden

\hyphenation{auto-re-gu-la-do}

\begin{document}
  \portada
  \Blinddocument
\end{document}

相关内容