Boxed Sheet & One-sentence Log & Concise Slides

Boxed Sheet & One-sentence Log & Concise Slides

Boxed Sheet

A automatical colored and well organised cheatsheet template for writing daily notes with colored bounding box and line titles.

Boxed Sheet Homepage

Colorful and organised cheatsheet template for Typst that allows you to make a overview of learning notes. Only one or few pages can cover all content about what you want to review and what you need to explore. This way make it convenient to the way of learning one technology and then getting a cheat sheet, and go on.

Boxed Sheet

Usage

To build this project via the CLI, use the command

1
typst init @preview/cheat-sheet

A sample project will be created with the template format.

Configuration

cheatsheet config

This template exports the cheatsheet function using the a4 page with the following named optional
arguments:

  • title: Title of document (Default = “”)
  • homepage: Homepage of author (Default = “”)
  • authors: Author Name (Default = “”)
  • write_title: Writes Title (Default = false)
  • title-align: Position of titles (Default = center)
  • title-number: Whether to numbered the title (Default = true)
  • title-delta: Fonts delta for title scaling (Default = 1pt)
  • scaling-size: Whether to scale the titles (Default = false)
  • font_size: Size of font (Default = 5.5pt)
  • line_skip: Size of line-skip (Default = 5.5pt)
  • x_margin: Margin on x-axis (Default = 30pt)
  • y_margin: Margin on y-axis (Default = 0pt)
  • num_columns: Number of columns (Default = 5)
  • column_gutter: Space between columns (Default = 4pt)
  • numbered_units: Numbering of units (Default = false)

cheatsheet_scaling config

In this template we add the extral parameters to adjust the page size and keep other parameters same.

  • page-w: The width of page (Default = auto)
  • page-h: The height of page (Default = auto)

concept-block

This is a bounding box with automatical colors according to top level titles that can hold any text and image.

  • body: Content to write (Required)
  • alignment: Alignment of content (Default = start)
  • width: Width of bounding box (Default = 100%)
  • fill_color: Filling color of bounding box (Default = white)

line title

This is a style placing subtitle in the middle of a colored line drawing more attention.

  • title: Title to show (Required)

Reference

One-sentence Log

If you are looking for a well organized template to record your daily things but hope there hasn’t too complex language and content, One-sentence Log is just what you seek for.

It has the automatical month-related colors and well designed style of line titles. For setting up the life goals and daily ticks, we designed two styles for them with automatical numbered sequence.

We have the month titles in colored box and week content in bounding box. For daily log, we ultilized the line titles to split the content betweeen days.

Usage

Month Colors

Based on the template, we just predefined some colors which are the symbol of each month from January to December.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
% Reds (r)
\definecolor{r1}{RGB}{255, 205, 178} % Light coral
\definecolor{r2}{RGB}{255, 180, 162} % Light pink
\definecolor{r3}{RGB}{229, 152, 155} % Light rose

% Blues (b)
\definecolor{b1}{RGB}{119, 141, 169} % Light blue
\definecolor{b2}{RGB}{65, 90, 119} % Light sky
\definecolor{b3}{RGB}{102, 155, 188} % Light cyan

% Greens (g)
\definecolor{g1}{RGB}{191, 255, 191} % Light green
\definecolor{g2}{RGB}{191, 255, 223} % Light mint
\definecolor{g3}{RGB}{207, 255, 207} % Light sage

% Oranges (o)
\definecolor{o1}{RGB}{247, 178, 103} % Light peach
\definecolor{o2}{RGB}{247, 157, 101} % Light cream
\definecolor{o3}{RGB}{244, 132, 95} % Light buff

% Violets (v)
\definecolor{v1}{RGB}{237, 175, 184} % Light purple
\definecolor{v2}{RGB}{224, 177, 203} % Light lilac
\definecolor{v3}{RGB}{190, 149, 196} % Light lavender

% Yellows (y)
\definecolor{y1}{RGB}{255, 255, 191} % Light yellow
\definecolor{y2}{RGB}{255, 247, 191} % Light cream yellow
\definecolor{y3}{RGB}{255, 239, 191} % Light warm cream

\definecolor{w}{HTML}{FFFFFF}
\definecolor{g}{HTML}{444444}
\definecolor{b}{HTML}{222222}
\definecolor{lightgrey}{HTML}{cccccc}

% for month color
\newcommand{\monthcolor}[1]{%
\ifcase#1
\or v3% January
\or r2% February
\or v2% March
\or g1% April
\or g2% May
\or b1% June
\or b3% July
\or o2% August
\or o1% September
\or o3% October
\or y2% November
\or b2% December
\else
black%
\fi
}

Using the above command we can choose the month color by the month number as follows.

1
\monthcolor{3}  % chosing the color of March 

Year Header

For the year title we add the shadow to text and show it in the very huge style.

1
2
3
4
5
6
7
8
% for year title
\newcommand{\yearheader}[1]{%
\noindent\centering
{\shadowtext{%
\Huge\bfseries\itshape #1%
}}\par
\vspace{1em}
}

Month Title

To emphsize the months we embed the month title in the colored box with the month specific color.

The command needs two parameters including the month color and month title. Usage is very simple as follows.

month title usage
1
\monthtitle{\monthcolor{3}}{March, 2025}
month title config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% for month title
\newtcolorbox{monthtitlebox}[1]{
enhanced,
colback=#1,
coltext=b,
boxrule=0pt,
frame hidden,
arc=2pt,
width=\columnwidth,
left=3pt,
right=3pt,
top=1pt,
bottom=1pt,
}

% --- Month title
\newcommand{\monthtitle}[2]{%
\begin{monthtitlebox}{#1}
{\centering\textit{\textbf{\large #2}}\par}
\end{monthtitlebox}
\par\normalfont\normalcolor\raggedright
}

Concept Box

Bounding Box is very dedicated to show some content to be focused on.

For week titles, we use the concept box to cover one week logs. The envident effect of splitting is very to distinguish different weeks for better looking.

As the month titles, the concept box also needs the week color which is same as the month color and the week color.

Command Using Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
\begin{conceptbox}[\monthcolor{3}]{Week 1: 了解研究方向}
\nc[\monthcolor{3}]{February 14}
\taskitem{Y}{Read \textit{Gaussian Head Avatar: Ultra High-fidelity Head Avatar via Dynamic Gaussians};}
\taskitem{Y}{Read 《三维人脸成像及重建技术综述》and summary;}

\nc[\monthcolor{3}]{February 18}
\taskitem{Y}{Set up data collection and processing pipeline—VHAP;}

\nc[\monthcolor{3}]{February 19}
\taskitem{Y}{Read \textit{Learning a model of facial shape and expression from 4D scans} and make a summary}

\nc[\monthcolor{3}]{February 20}
\taskitem{Y}{Finished configuring the experimental environments and training pipelines—GaussianAvatar;}
\end{conceptbox}
Command Defination
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% Concept Box
\newtcolorbox{conceptbox}[2][]{
breakable,
vfill before first=false,
segmentation at break=false,
size=fbox,
colback=w,
title=\scriptsize\textbf{#2},
left=2pt,
right=2pt,
top=3pt,
bottom=1pt,
boxrule=1pt,
coltitle=b,
colupper=b,
pad at break=5pt,
toprule at break=4pt,
bottomrule at break=0.75pt,
colframe=#1,
enlargepage=12in,
before upper*={\setlength{\baselineskip}{0.75em}\setlength{\parskip}{0em}}
}

Line Title

Another classic style of titles is one single colored line with the title placed in the middle.

In the One-sentence Log we also add this style for showing the date of each day.

Just as the above, the commond also needs two parameters, line color and line titles.

Command Usage
1
\nc[\monthcolor{3}]{February 14}
Command Defination
1
2
3
4
5
6
7
\newcommand{\nc}[2][b]{%
\setcounter{tasknumber}{0}
\tikz \draw [draw=#1,thick]
($(current page.center)-(0.495\linewidth,0)$) --
($(current page.center)+(0.495\linewidth,0)$)
node [midway, fill=w] {\ssmall\textbf{#2}};
}

Todo List

In the One-sentence Log we add the todo configuration for recording the daily tasks. For optimazition and convenience, the numbered style has been designed for automation.

By means of the task number, we can bind the todo number with command of line title. When we use the line title command to start a new day, the task couter will be set to zero.

For the task tag showing the finishment or not, we add a sign in the front of task and then is the task title.

todo usage
1
2
3
4
5
\nc[\monthcolor{2}]{Interests}
\taskitem{Y}{撰写个人 2024 年度总结报告;}
\taskitem{Y}{起笔大学四年总结报告;}
\taskitem{Y}{构建起基本完整的社交网络,以及关系的定量分析;}
\taskitem{N}{构建西电计科传承指南站点;}
todo configuration
1
2
3
4
5
6
7
8
9
10
11
12
% for todo
\newcounter{tasknumber} % define tasknumber
\newcommand{\taskreset}{\setcounter{tasknumber}{0}} % reset tasknumber
\newcommand{\taskitem}[2]{%
\ifnum\value{tasknumber}>0\par\fi % if not first item, add a new line
\stepcounter{tasknumber}%
\noindent\textbf{\thetasknumber.}~%
\ifthenelse{\equal{#1}{Y}}%
{\textcolor{green!60!black}{$\checkmark$}~}
{\textcolor{red}{$\times$}~}%
#2
}

Goal List

However, for the goals we just want to show them but not to add any tag. And if needs, we also want to add the subgoal as the second order.

That’s a little different and need to redesign the configuration. And more specially, it needs the command \goalreset to clear the counter.

Goal Usage
1
2
3
4
5
6
7
8
\goalreset
\goalitem{调研方法和目标}
\subgoalitem{搜集近年来相关研究论文,整理归纳;}
\subgoalitem{阅读每一篇论文并进行简要总结:总结研究任务,方法,存在的挑战;}
\subgoalitem{汇总所有论文总结,形成综述报告;}
\goalitem{论文追溯}
\subgoalitem{Inspiration: 从论文中追溯启发的文章;}
\subgoalitem{Basic Model: 从论文中积累经典的模型结构;}
Goal Defination
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
% --- Goal counter
\newcounter{goalnumber}
\newcounter{subgoalnumber}

% --- Reset counters
\newcommand{\goalreset}{%
\setcounter{goalnumber}{0}%
\setcounter{subgoalnumber}{0}%
}

% --- Main goal item
\newcommand{\goalitem}[1]{%
\ifnum\value{goalnumber}>0\par\fi
\stepcounter{goalnumber}%
\setcounter{subgoalnumber}{0}
\noindent\textbf{\thegoalnumber.}~#1
}

% --- Subgoal item
\newcommand{\subgoalitem}[1]{%
\par
\stepcounter{subgoalnumber}%
\noindent\hspace{1.5em}\textbf{\thesubgoalnumber.}~#1
}

Concise Slides

A slides template with concise style modified from the theme of Touying Dewdrop template using Typst language.

Modified Items

I used this concise slides to make my presentation of undergraduate thesis defense.

Slide with Background

Using the following codes, I just insert the background photo into the slide as the title and thanks slides.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#let bg-slide(
config: (:),
background-image: none,
background-opacity: 100%,
extra: none,
..args,
) = touying-slide-wrapper(self => {
self = utils.merge-dicts(
self,
config,
config-common(freeze-slide-counter: true),
config-page(margin: 0em),
if background-image != none {
config-page(
background: stack(
dir: ttb,
background-image,
rect(
width: 100%,
height: 100%,
fill: rgb(255, 255, 255, 100% - background-opacity),
),
),
)
} else { (:) },
)
let info = self.info + args.named()
let body = {
place(
top + right,
box(
inset: (top: 1.9em, right: 16.5em),
if info.logo != none {
info.logo
}
)
)
set text(fill: self.colors.neutral-darkest)
set align(center + horizon)
block(
width: 100%,
inset: 3em,
{
block(
fill: self.colors.neutral-light,
inset: 1em,
width: 100%,
radius: 0.2em,
text(size: 1.3em, fill: self.colors.primary, text(weight: "medium", info.title)) + (
if info.subtitle != none {
linebreak()
text(size: 0.9em, fill: self.colors.primary, info.subtitle)
}
),
)

set text(size: .8em)
v(4em)
if info.author != none {
block(spacing: 1em, info.author)
}
v(1em)
set text(size: .8em)
if info.department != none {
block(spacing: 1em, info.department)
}
v(0.4em)
if info.institution != none {
block(spacing: 1em, info.institution)
}
v(0.4em)
if info.date != none {
block(spacing: 1em, utils.display-info-date(self))
}
if extra != none {
block(spacing: 1em, extra)
}
},
)
}
touying-slide(self: self, body)
})

Like the following codes, I split the foot into three region for separatly showing the author, title and page number.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#let dewdrop-footer(self) = {
set align(bottom)
set text(size: 0.8em)
show: pad.with(.5em)

grid(
columns: (1fr, auto, 1fr),
align(left, {
if self.info.author != none {
text(fill: self.colors.neutral-darkest.lighten(40%), self.info.author)
}
}),

align(center, {
if self.info.title != none {
text(fill: self.colors.neutral-darkest.lighten(30%), self.info.title)
}
}),

align(right, {
text(fill: self.colors.neutral-darkest.lighten(20%), utils.call-or-display(self, self.store.footer-right))
}),
)
}

Emphasis

For showing something with better attention, the concept-block and inline items are designed to add writings skills.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// defined some colors
#let color-box = (
rgb(190, 149, 196),
rgb(255, 205, 178),
rgb(102, 155, 188),
rgb("EEE4F7"),
rgb(229, 152, 155),
rgb("6a4c93"),
rgb("ff595e"),
rgb("ff751f"),
rgb("E0A500"),
)

#let concept-block(color: color,
body: content,
alignment: start,
width: auto,
fill_color: white) = block(
stroke: 2pt + color,
fill: fill_color,
radius: 3pt,
inset: 12pt,
width: width,
)[
#align(alignment)[
#body
]
]
#let inline(title, color, text_size: 1em) = box(grid(
columns: (1fr, auto, 1fr),
align: horizon + center,
column-gutter: 1em,
line(length: 100%, stroke: 2pt + color),
text(fill: color, weight: "bold", size: text_size)[#title],
line(length: 100%, stroke: 2pt + color),
))

References

Boxed Sheet & One-sentence Log & Concise Slides

https://lzhms.github.io/projects/SummaryTemplate/

Author

Zhihao Li

Posted on

2025-06-20

Updated on

2025-07-09

Licensed under


Comments