以下假设你想了解的是 lnote 里的这类例子是如何生成的。
零. lnote 的源码是公开的,见 https://github.com/huangxg/lnotes
一. 对应你截图里例子的源码段,是 https://github.com/huangxg/lnotes/blob/390e321b312fccbf38a5503c557edb165a3b2cc8/src/tables.tex#L188-L192
```tex
\begin{example}[ht]
\LoadFBTDemo[numbers=left]{texlet/tab-color-alt}
\caption{彩色表格}
\label{tab:alt_color_tab}
\end{example}
```
二. 这里面的重点不是 example 浮动体环境,而是 `\LoadFBTDemo` 命令
三. `\LoadFBTDemo` 命令的定义是 https://github.com/huangxg/lnotes/blob/390e321b312fccbf38a5503c557edb165a3b2cc8/src/ldemo.sty#L230-L236
```tex
\newcommand{\LoadFBTDemo}[2][numbers=none]{% lstset argument, file
\lstset{#1}%
\noindent
\demo@code[#2-esc.tex]{\textwidth}%
\\[\demosep]
\demo@out[#2.tex]{\textwidth}%
}
```
`\LoadFBTDemo` 调用了 `\demo@code`(内部是一个 `\lstinputlisting` 命令,`listings` 宏包提供)和 `\demo@out`(内部是一个 `minipage` 环境),这两个命令的定义和 `\LoadFBTDemo` 在同一个文件(`ldemo.sty`)
四. 例子的源码部分(上半部分),你关心的「背景色」,是通过配置 listings 宏包得到的,https://github.com/huangxg/lnotes/blob/390e321b312fccbf38a5503c557edb165a3b2cc8/src/ldemo.sty#L6-L11
```tex
\lstset{escapechar=`, extendedchars=false,
backgroundcolor=\color{Lavender}, basicstyle=\small\ttfamily,
language=[LaTeX]TeX, keywordstyle=\color{blue},
frame=single, rulecolor=\color{Silver},
firstnumber=1, stepnumber=2, breaklines=true
}
```
注意第二行的 `backgroundcolor=\color{Lavender}` 部分
例子的效果部分(下半部分),你可能关心的盒子加框,是在 `minipage` 外面套了一个 `\framebox` 得到的。
五. 做个总结,
1. 上半部分的源码,是通过 `\lstinputlisting{texlet/tab-color-alt-esc.tex}` 输出的,背景颜色受 `\lstset{backgroundcolor=...}` 控制
1. 下半部分的表格,是通过 `\input{texlet/tab-color-alt.tex}` 输出的,表格的颜色配置等也都在那个文件里。