个人资料类别

个人资料类别

我想创建一些带有关键词的讲义和文档,用于学校的日常演示。与 tufte 布局不同,这些文档只有一两页长。

讲义应该概述我在演讲中提到和解释的事实。为此,我想添加关键字列表(逐项列出和说明)和一些图像。还需要添加一个包含主题、名称和日期的漂亮页脚。所有这些任务都应该由一个类来解决。我已经知道如何实现页脚以及如何定义一些命令来轻松操作它。为了以令人愉快的方式创建页脚,我将此代码添加到我的 handout.cls 中

\RequirePackage{fancyhdr}
%...
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}

\newcommand{\setnames}[1]{
    \def\names{#1}
}

\newcommand{\settopic}[1]{
    \def\topic{#1}
}

\newcommand{\footer}[1]{
    \fancyfoot[L]{\names, \topic, \today, \arabic{page}}
}

现在我可以在我的主 tex 文件中写入类似以下内容:

\setnames{Nick Lehmann}
\settopic{Mein eigenes Handout}
\footer

我已经添加的另一部分是创建标题的命令。通常讲义不会分为不同的部分,并且只有一个标题。所以我在 handout.cls 中添加了:

\newcommand{\heading}[1]{
    \centerline{\Large #1}
}

因为我想要用德语、英语(主要是英国)或者两种语言来写我的讲义,所以我声明了一些选项来配置 babel 包。

\DeclareOption{german}{%
    \PassOptionsToPackage{ngerman}{babel}
    \setlength{\parindent}{0pt}
    \ClassWarning{handout}{German language selected}
}

\DeclareOption{british}{
    \PassOptionsToPackage{british}{babel}
    \ClassWarning{handout}{British language selected}
}

我包含所需软件包的部分如下

\LoadClass{article}

\RequirePackage[utf8]{inputenc}
\RequirePackage{babel}
\RequirePackage[a4paper,vmargin={20mm,20mm},hmargin={30mm,30mm}]{geometry}
\RequirePackage{indentfirst}            
\RequirePackage{url}                    
\RequirePackage{fancyhdr}               
\RequirePackage{ifthen}

当然,我将其他参数传递给文章类并处理给定的选项

\DeclareOption*{
    \PassOptionsToClass{\CurrentOption}{article}
}

\ProcessOptions\relax

有人有想法实现更多功能吗?我对一种很棒的方式非常感兴趣,可以展示我在演示文稿中解释的术语的关键字和描述列表。我应该改变我的实现吗?我忘记了什么重要的事情吗?

相关内容