如何在Latex中制作备忘单?

我想做我个人使用的备忘单。 我想利用这个机会也能很好的掌握LaTeX 。 (我已经习惯了在LaTeX中制作简单的文档math。)

现在我想尝试在LaTeX中制作备忘单。 但我不知道该怎么做。 在备忘单中,通常页面被分成多个矩形部分,每个部分里面都有一些命令或注释。 每个矩形部分都有一个边框等

如何在LaTeX中完成? 有任何软件包可以做到这一点? 你认为TikZ会是一个好主意吗?

因为有些教授允许我们使用计算机上写的备忘单进行考试,所以我决定在不久前创build一个模板,以便尽可能节省空间,但保持可读性。 模板在这里使用答案的代码。

基本文件如下所示:

\documentclass[10pt,landscape,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary{shapes,positioning,arrows,fit,calc,graphs,graphs.standard} \usepackage[nosf]{kpfonts} \usepackage[t1]{sourcesanspro} %\usepackage[lf]{MyriadPro} %\usepackage[lf,minionint]{MinionPro} \usepackage{multicol} \usepackage{wrapfig} \usepackage[top=0mm,bottom=1mm,left=0mm,right=1mm]{geometry} \usepackage[framemethod=tikz]{mdframed} \usepackage{microtype} \let\bar\overline \definecolor{myblue}{cmyk}{1,.72,0,.38} \def\firstcircle{(0,0) circle (1.5cm)} \def\secondcircle{(0:2cm) circle (1.5cm)} \colorlet{circle edge}{myblue} \colorlet{circle area}{myblue!5} \tikzset{filled/.style={fill=circle area, draw=circle edge, thick}, outline/.style={draw=circle edge, thick}} \pgfdeclarelayer{background} \pgfsetlayers{background,main} \everymath\expandafter{\the\everymath \color{myblue}} \everydisplay\expandafter{\the\everydisplay \color{myblue}} \renewcommand{\baselinestretch}{.8} \pagestyle{empty} \global\mdfdefinestyle{header}{% linecolor=gray,linewidth=1pt,% leftmargin=0mm,rightmargin=0mm,skipbelow=0mm,skipabove=0mm, } \newcommand{\header}{ \begin{mdframed}[style=header] \footnotesize \sffamily Cheat sheet\\ by~Your~Name,~page~\thepage~of~2 \end{mdframed} } \makeatletter \renewcommand{\section}{\@startsection{section}{1}{0mm}% {.2ex}% {.2ex}%x {\color{myblue}\sffamily\small\bfseries}} \renewcommand{\subsection}{\@startsection{subsection}{1}{0mm}% {.2ex}% {.2ex}%x {\sffamily\bfseries}} \def\multi@column@out{% \ifnum\outputpenalty <-\@M \speci@ls \else \ifvoid\colbreak@box\else \mult@info\@ne{Re-adding forced break(s) for splitting}% \setbox\@cclv\vbox{% \unvbox\colbreak@box \penalty-\@Mv\unvbox\@cclv}% \fi \splittopskip\topskip \splitmaxdepth\maxdepth \dimen@\@colroom \divide\skip\footins\col@number \ifvoid\footins \else \leave@mult@footins \fi \let\ifshr@kingsaved\ifshr@king \ifvbox \@kludgeins \advance \dimen@ -\ht\@kludgeins \ifdim \wd\@kludgeins>\z@ \shr@nkingtrue \fi \fi \process@cols\mult@gfirstbox{% %%%%% START CHANGE \ifnum\count@=\numexpr\mult@rightbox+2\relax \setbox\count@\vsplit\@cclv to \dimexpr \dimen@-1cm\relax \setbox\count@\vbox to \dimen@{\vbox to 1cm{\header}\unvbox\count@\vss}% \else \setbox\count@\vsplit\@cclv to \dimen@ \fi %%%%% END CHANGE \set@keptmarks \setbox\count@ \vbox to\dimen@ {\unvbox\count@ \remove@discardable@items \ifshr@nking\vfill\fi}% }% \setbox\mult@rightbox \vsplit\@cclv to\dimen@ \set@keptmarks \setbox\mult@rightbox\vbox to\dimen@ {\unvbox\mult@rightbox \remove@discardable@items \ifshr@nking\vfill\fi}% \let\ifshr@king\ifshr@kingsaved \ifvoid\@cclv \else \unvbox\@cclv \ifnum\outputpenalty=\@M \else \penalty\outputpenalty \fi \ifvoid\footins\else \PackageWarning{multicol}% {I moved some lines to the next page.\MessageBreak Footnotes on page \thepage\space might be wrong}% \fi \ifnum \c@tracingmulticols>\thr@@ \hrule\allowbreak \fi \fi \ifx\@empty\kept@firstmark \let\firstmark\kept@topmark \let\botmark\kept@topmark \else \let\firstmark\kept@firstmark \let\botmark\kept@botmark \fi \let\topmark\kept@topmark \mult@info\tw@ {Use kept top mark:\MessageBreak \meaning\kept@topmark \MessageBreak Use kept first mark:\MessageBreak \meaning\kept@firstmark \MessageBreak Use kept bot mark:\MessageBreak \meaning\kept@botmark \MessageBreak Produce first mark:\MessageBreak \meaning\firstmark \MessageBreak Produce bot mark:\MessageBreak \meaning\botmark \@gobbletwo}% \setbox\@cclv\vbox{\unvbox\partial@page \page@sofar}% \@makecol\@outputpage \global\let\kept@topmark\botmark \global\let\kept@firstmark\@empty \global\let\kept@botmark\@empty \mult@info\tw@ {(Re)Init top mark:\MessageBreak \meaning\kept@topmark \@gobbletwo}% \global\@colroom\@colht \global \@mparbottom \z@ \process@deferreds \@whilesw\if@fcolmade\fi{\@outputpage \global\@colroom\@colht \process@deferreds}% \mult@info\@ne {Colroom:\MessageBreak \the\@colht\space after float space removed = \the\@colroom \@gobble}% \set@mult@vsize \global \fi} \makeatother \setlength{\parindent}{0pt} \begin{document} \small \begin{multicols*}{5} \input{section1} \end{multicols*} \end{document} 

当您使用代码复制模板,并将您的LaTeX代码放在外部文件中,如section1.tex, section2.tex,... 比你可以轻松地遵循这些LaTeX文件里面的正常结构

 \section{Title of section 1} \subsection*{Title of subsection 1} Some text... \subsection*{Title of subsection 2} With some colored math $\sum_{i=1}^\infty i$. Inserting an image also works:\\ \includegraphics[width=\linewidth]{yourimage.png} 

填写完你的部分后,你会得到一个非常好的压缩文件,看起来像这样:

备忘单页面1

备忘单第2页

我一直在做我自己的备忘单以及各种事情。 我真的很喜欢这里发现的Latex作弊表。 我build议抓住tex源,并从中窃取一些想法:)。

考虑使用multicol

并考虑熟悉CTAN 。 TeX的大部分事情迟早会在那里结束,但是如果你不知道你在找什么,它确实需要挖掘。

这是一个美丽的作弊表(实际上是一本小册子,不只是几页)。

https://www.ohloh.net/p/clqr

它是用LaTex制成的。 它总结了Common Lisp标准中的所有符号。 也许你可以从现有的LaTeX源代码中select一个或两个提示。

我喜欢这些备忘单的样子:

http://michaelgoerz.net/refcards/