在 LyX 中使用新的文档类/模板?

在 LyX 中使用新的文档类/模板?

我尝试在其他地方搜索这个,但我对 LaTeX 还不熟悉,对某些事情非常困惑。基本上我下载了 MikteX,并使用最新版本的 Lyx。现在我基本上只知道如何制作漂亮的数学公式并添加目录页/标题/参考资料/等等。

我想写一篇论文,我的大学提供了一个模板,ociamthesis.cls(可通过该链接下载)。

那么,我到底需要做什么(请具体说明,因为我对我读到的所有术语一无所知)。

基本上,我需要在该网页的第一行下载 ociamthesis.cls。我将其保存在哪里有关系吗?我接下来到底该怎么做?

答案1

A布局在 LyX 中类似于文档类在 LaTeX 中。由于提供的文档类 (ociamthesis.cls)未被现有 LyX 布局覆盖,您必须按照以下步骤创建自己的布局这些说明(也可在帮助 > 自定义下找到;部分5.3 布局文件格式):

  1. 首先,您必须安装 LaTeX 类,以便它与 LaTeX 配合使用。有关此问题的讨论可参见我应该将自己的.sty文件放在哪里,才能让所有文件都可以访问它们.tex这也适用于.cls文档类文件。

  2. 要使用此 LaTeX 类,您必须编写自己的 LyX 布局。这需要您找到新类的“基础类”。前几行ociamthesis.cls显示

    \LoadClass[a4paper]{report}
    

    这意味着它ociamthesis.cls基于(或衍生自)report.clsLyX 已知的某些东西。因此您应该从以下方面开始report.layout

    在此处输入图片描述

  3. 打开report.layout并更改为类似

    #% Do not delete the line below; configure depends on this
    #  \DeclareLaTeXClass[ociamthesis]{Oxford Math Inst}
    
    # Read the definitions from report.layout
    Input report.layout
    

    将此文件保存ociamthesis.layout在同一文件夹中。

  4. 在 LyX 中,依次选择“工具”>“重新配置”,然后重新启动 LyX。现在Oxford Math Inst您将在“布局”>“文档”>“文档类”下拉列表中看到文本。重新配置 LyX 后,您现在可以编辑它ociamthesis.layout并在重新编译时立即看到它的效果。LyX 只需要知道它的位置,这需要相当长的时间。

  5. 很明显,上面的最小定义只是为基于 的新定义类构建了外壳report。现在你必须仔细研究一下ociamthesis.cls,看看还能添加什么来ociamthesis.layout完成它。例如,由于类report是用选项 加载的a4paper,我们需要添加

    ClassOptions
      Other "a4paper"
    End
    

    Input report.layout

  6. 可行的最后步骤是将其余部分ociamthesis.cls作为 LyX 布局序言的一部分:

    Preamble
      \def\logoversion{squarelogo}
      \RequirePackage{graphicx} % needed for latest frontpage logo
      \RequirePackage{ifthen}   % needed for option parsing for logo
    
      \raggedbottom
    
      %define the default submitted text
      \newcommand{\submittedtext}{{A thesis submitted for the degree of}}
    
      %... the remainder of ociamthesis.cls
      %...
      %...
    EndPreamble
    

答案2

通常,当我急需使用需要附带类的模板时,我会忘记上述步骤。因此,需要一种防脑雾的方法。无需 texhash 或 LyX->Tools->Reconfigure。

  1. 将 .cls 和 .layout 文件保留在模板目录中
  2. 创建 yourclassname.layout 文件:
#% Do not delete the line below; configure depends on this
# \DeclareLaTeXClass[yourclassname]{article (yourclassname)}
# Input general definitions
Input stdclass.inc
  1. 导入 template.tex 文件时,LyX 将无法检测到它属于 yourclassname.cls,并将产生错误。相反,请直接在命令行上运行转换器:C:\template_dir_w_class_and_layout_file>"C:\Path_to_this_exe\tex2lyx2.3.exe" -f C:\template_dir_w_class_and_layout_file\template.tex

  2. 假设某个文章类派生删除标题和摘要部分。从 template.tex 复制这些内容并插入到 TeX 块 (ERT) 中。

  3. 现在 template.lyx 应该在 Lyx 中打开并构建。

相关内容