gpt4 book ai didi

latex - 如何在 Latex 中制作备忘单?

转载 作者:行者123 更新时间:2023-12-03 06:13:18 27 4
gpt4 key购买 nike

我想制作供我个人使用的备忘单。我想利用这个机会好好掌握LaTeX也。 (我已经很习惯用 LaTeX 制作与数学相关的简单文档。)

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

如何在 LaTeX 中完成它?有可用的软件包来执行此操作吗?您认为TikZ这是一个好主意吗?

最佳答案

因为一些教授允许我们使用在计算机上编写的备忘单进行考试,所以我决定前段时间创建一个模板,以尽可能节省足够的空间但保持可读性。模板使用答案的代码here .

更新:现在可以找到完整的源代码 here .

基本文件如下所示:

\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}

填写完各个部分后,您将获得一个压缩程度很高的文档,它看起来仍然不错,如下所示:

Cheat sheet page 1

Cheat sheet page 2

关于latex - 如何在 Latex 中制作备忘单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1911516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com