如何将标准序言制作成包装

如何将标准序言制作成包装

我有一个前言,我把它复制粘贴到几乎所有的文档中。有没有一种好的方法可以把它变成一个包,然后我就可以使用它了?我更愿意以一种不依赖于我的 Latex 前端或编译器的方式来做到这一点,这样我就可以了\usepackage{coolpreamble}。这对于分发给其他人也很有用,以便在我的研究小组中保持标准的 LaTeX 格式。

答案1

您可以将前导代码放入.sty文件中,然后使用\usepackage{mystyle}它来加载它。您的.sty文件将如下所示:

% Declare that this style file requires at least LaTeX version 2e.
\NeedsTeXFormat{LaTeX2e}

% Provide the name of your page, the date it was last updated, and a comment about what it's used for
\ProvidesPackage{mystyle}[2010/07/28 BBischof's custom LaTeX style]

% Now paste your code from the preamble here

% Finally, we'll use \endinput to indicate that LaTeX can stop reading this file. LaTeX will ignore anything after this line.
\endinput

请注意,样式文件可能会变得更加复杂(如果您想包含诸如等选项\usepackage[option]{mystyle}),但是这种基本格式应该可以帮助您入门。

将您的文件另存为mystyle.sty并将其与您的文件一起放在当前目录中.tex

您还可以查看适用于课程和软件包编写者的 LaTeX2e指南也可在卡坦。它将引导您更详细地了解这一点。

答案2

thesis.sty我想说:不要。网上有大量的软件包,但我认为它们都忽略了一个重要点:

这就是类的用途,而不是包的用途。因此,如果您发现自己重复使用相同的序言,则很可能它是针对同一类型的文档。在这种情况下,不要将其打包 - 而是将其打包成类。

差异很小:

  • 您需要调用您的文件<foo>.cls而不是<foo>.sty
  • 您(很可能)需要使用以下方法在类中加载基类\LoadClass
  • \documentclass您可以通过在文档开头加载类,而不是使用\usepackage

答案3

将您的序言放在.sty文件中,并将\usepackage语句更改为RequirePackage,然后用关闭文件\endinput是最直接的方法。

重要的是要意识到样式文件中@有一个字母,这意味着它可以在命令中使用。因此,如果您在前言中的 a\makeatletter\makeatotherpair 之间有代码,则可以在文件中省略这两个命令.sty

现在,如果你想更进一步,你可以使用\NeedsTeXFormat和指定所需的格式、包的名称和描述。此外,你可以定义包选项并使用和\ProvidesPackage处理它们,但如果你走得更远,要么从CTAN 上精心制作的文件中学习,要么看看\DeclareOption\ProcessOptions.sty适用于课程和软件包编写者的 LaTeX2e

答案4

我使用与样式文件不同的方法。我使用Autohotkey一个小的热键扩展器。每次我在任何IDE,它扩展到

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{csquotes}
\usepackage{paralist}
\usepackage{xcolor}

该软件可以做更多事情,例如以不同的格式插入(计算)日期或在扩展后移动光标。定义文件在我的 Dropbox 中,因此更改几乎会立即发送到我的所有机器上。

相关内容