LaTeX 之 framed 宏包
速览
framed – Framed or shaded regions that can break across pages
该宏包提供可三个环境:
- frame:which puts an ordinary frame box around the region
- shaded:which shades the region
- leftbar:which places a line at the left side.
还提供了一个命令来自定义设置 framed-style 的环境
案例分析
1 | \documentclass{ctexart} |
代码分析
设置页边距,ctexart 文档类默认的页边距有些宽,习惯使用如下的页边距
1 | \usepackage{geometry} |
使用中文假文
1 | \usepackage{zhlipsum} %中文假文宏包 |
frame 环境和 fbox 命令
两者均可以为文本内容添加外边框,但是当文本内容超过一行之后,使用 fbox 就会出现问题了,无法正确的换行和分页,导致超出该行的部分无法在 PDF 中显示。如下图所示
因此,针对此问题,宏包作者开发了 framed 宏包,两者的关系不言而喻,framed 宏包是基于 fbox 进行开发的。
framed 环境输出
- 正常换行
- 正常分页
fbox 命令输出
- 无法正确换行
实际上,framebox 命令输出也是这种效果,这里暂且认为 framebox 命令和 fbox 命令完全相同
对应的,fbox 可以设置边框边线的宽度和内容距边框的间距,framed 环境同样是可以设置的
设置边框宽度和间距
对 fbox 盒子进行设置
1 | \fbox{Test box} |
对 frame 盒子进行设置
1 | \documentclass{ctexart} |
拓展应用
换页是否封闭外边框
- framed 环境默认是封闭的
- oframed 环境则提供了开口的外边框:oframed 其实是 “Open Framed” 的组合吧
左边线样式
我想许多人使用这个宏包就是为了实现网页中的 引用 效果吧 o (^▽^) o,左边线的长度会自动随着环境中的文本长度进行变化
1 | \documentclass{ctexart} |
其他参数
除了上面所说的 FrameSep
和 FrameRule
命令,宏包手册中还列举了大量其他命令,这里就不仔细研究了,感觉用不到这里面太多的东西,但是还是感谢开发者啦 o (^▽^) o