You can create new document classes and new packages. For instance, if
your memos must satisfy some local requirements, such as a
standard header for each page, then you could create a new class
smcmemo.cls
and begin your documents with
\documentclass{smcmemo}
.
What separates a package from a document class is that the commands in
a package are useful across classes while those in a document class
are specific to that class. Thus, a command to set page headers is
for a package while a command to make the page headers be
Memo from the SMC Math Department
is for a class.
Inside of a class or package definition you can use the at-sign
@
as a character in command names without having to surround
the code containing that command with \makeatletter
and
\makeatother
(see \makeatletter
& \makeatother
). This
allows you to create commands that users will not accidentally
redefine.
It is also highly desirable to prefix class- or package-specific
commands with your package name or similar string, to prevent your
definitions from clashing with those from other packages. For
instance, the class smcmemo
might have commands
\smc@tolist
, \smc@fromlist
, etc.