以Obsidian为例,当我们希望在其中实现标注或者引用块时,我们可以借助以下代码实现
1>[!info]
2>一个标注
3
4>一条引用
效果如下
在$\LaTeX$中,通过
tcolorbox
宏的帮助,我们也可以实现类似的效果
下附代码与使用样例
1\documentclass{article}
2\usepackage{ctex}
3\usepackage{fontawesome5}
4\usepackage[most]{tcolorbox}
5\newtcolorbox[]{infobox}[1][] % 定义名为 infobox 的环境
6{enhanced, % 启用增强模式
7 colback = blue!10, % 主背景色:10% 蓝色
8 toptitle= 2mm,
9 colbacktitle = blue!10, % 标题背景色:同主背景
10 coltitle = black, % 标题文字颜色:黑色
11 boxrule = 0pt, %隐藏标题和正文间的空隙
12 frame hidden, % 隐藏边框
13 fonttitle = \bfseries\sffamily, % 标题字体:加粗无衬线
14 breakable, % 允许跨页分断
15 before skip = 3ex, % 环境前间距:3ex
16 after skip = 3ex, % 环境后间距:3ex
17 title={\faInfoCircle\hspace*{0.5mm} Info}, % 标题内容
18 label=#1 % 可选的引用标签
19}
20% 定义名为 citebox 的环境
21\newtcolorbox[]{citebox}[1][]
22{
23 enhanced, % 启用增强模式(允许更复杂的样式设置)
24 coltitle = black, % 标题文字颜色(当前未使用标题)
25 boxrule = 0pt, % 边框线宽度设为 0(隐藏默认边框)
26 frame hidden, % 隐藏外框架(与 boxrule=0pt 效果叠加)
27 borderline west = {0.5mm}{0.0mm}{black}, % 左侧装饰线(宽度/偏移/颜色)
28 fonttitle = \bfseries\sffamily, % 标题字体设置为加粗无衬线(若使用标题时生效)
29 breakable, % 允许跨页分割(长内容可自动分页)
30 before skip = 3ex, % 环境前的垂直间距(3倍字母x高度)
31 after skip = 3ex, % 环境后的垂直间距
32 label= #1 % 允许输入标签作为第一个参数
33}
34
35\begin{document}
36 % 标注块效果
37 \begin{infobox}[1]
38 这是一个 `info` 类型的标注块,类似于 Obsidian 里的 `[!info]`。
39 \end{infobox}
40
41% 引用块效果
42 \begin{citebox}
43 引用文本
44
45 \end{citebox}
46\end{document}
如果对颜色不满意,可以更改设定中的颜色数值,更复杂的颜色配置可借助宏xcolor
实现