想问问这种例子环境怎么做?

在 lnote2 里给出了例子浮动体设置\DeclareCaptionType[fileext=loe]{example}[例][例目录]

但是不知道接下来该怎么做,效果见下图

NDC6G%HKO5P0KOL7LJ$9Y[D.png

即可以实现“代码+效果”,不知道怎么弄背景色和盒子

3 回答3

1
以下假设你想了解的是 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}` 输出的,表格的颜色配置等也都在那个文件里。
0
<p>lnotes 里的方法有点麻烦,我以前看的是比较老的代码(大概是lnotes1.2),不知道2.56版有没有改动。</p><p>其实比较简单的方法是 tcolorbox 宏包提供的方法。看看手册第16章:</p><p>Libraries listings ,listingsutf8 , and minted</p><p><br></p>
0
<p>用tcolorbox,可以参考:<a href="https://github.com/registor/texboxies">https://github.com/registor/texboxies</a></p>

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。