我想知道是否有一个好的通用家庭作业类文件/模板。我想用它来上课。一般来说,以数学为中心的课程。如果有编程语法高亮功能(Python、Ruby、C、Java 等),我会喜欢的。
答案1
对于类文件本身:我实际上制作了自己的类文件(改编自report
类文件)以按照我想要的方式格式化我的作业。它在这里,如果你有兴趣尝试或摆弄它:
https://gist.github.com/1278588
您在序言中提供它,它会自动使用今天的\author
日期。\title
\documentclass{jhwhw}
此文件通过插入到文档的开头来使用。
问题的标准格式如下:
\problem{NAME OF PROBLEM}
<<statements of problem>>
\solution
<<solution>>
它为每个问题创建一个新页面。此外,如果问题有多个“部分”,格式可能如下所示
\problem{NAME OF PROBLEM}
\begin{enumerate}
\item <<Part (a) problem statement>>
\item <<Part (b) problem statement>>
\end{enumerate}
\solution
\part
<<Solution to part (a)>>
\part
<<Solution to part (b)>>
将enumerate
使用字母 (a)、(b) 等。并且\part
将使用 (a),然后 (b) 等。
示例页面(来自真实家庭作业)如下所示
如果您想尝试一下,请下载它,将其放在您的texmf
文件夹中并运行texconfig rehash
(如果您使用的是基于 UNIX 的系统)。
这个类文件中肯定有一些自动化的东西,人们希望对其进行更多的控制,所以我建议你多摸索一下,找到最适合你的方法。
对于语法突出显示:沃纳的回答提到listings
语法高亮和代码的包非常棒。(那样式文件可以与这类文件。
答案2
我认为(标准)文档类可以满足这一要求。不建议使用或的article
原因在于它们适用于更大的文本(因为它们包含章节和部分)。可以通过book
report
listings
包裹- 您指定语言(可能还有其他格式),并将代码放入lstlisting
环境中,就这么简单。请参阅listings
文档有关更多信息(第 12 页列出了受支持的语言,但您可以定义自己的语言)。
对于数学排版,我建议使用amsmath
包裹以及。它提供了强大的align
排版方程式环境(编号方程式;否则,对于未编号方程式使用align*
),并具有对齐属性。它还改进了 LaTeX 中使用的其他标准数学组件。
以下是我所谈内容的概要:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\usepackage{listings}% http://ctan.org/pkg/listings
% ... other packages that you may want to use
\begin{document}
% Sectional headings...
% Paragraph text...
% Enumerate/itemize environments...
% Listings (or programming code segments)...
% Tables...
% Figures...
% Mathematics (align, align*, \[ \], ...)
\end{document}
一般来说,如果你需要扎实的 LaTeX 专业知识基础,可以考虑阅读LaTeX2ε 的简短介绍。
答案3
您可以制作CTAN 上的主题搜索在考试中,你会发现与练习或者考试。我认为它们大多数都兼容listings
并minted
排版代码。