Scissor LaTeX 中不可用的宏包
文档照样能排版。Scissor LaTeX 完全不认识的宏包会在“问题”标签页中注明;它认识但没有实现的知名宏包,例如 fancyhdr、titlesec 或 tcolorbox,会被静默接受且不起作用;无法识别的命令会被跳过并显示提示,而它们的文本通常会保留。
宏包是如何处理的
Scissor LaTeX 不运行宏包代码。它用自己的引擎转换你的文档,这个引擎实现了这些页面上所列宏包的命令。因此,一行 \usepackage 会落入以下三类之一:
| 类别 | 示例 | 会发生什么 |
|---|---|---|
| 已实现,完全或部分实现 | amsmath, graphicx, booktabs, pgfplots, hyperref | 命令按各宏包页面的说明工作。 |
| 已知,但不起作用 | fancyhdr, titlesec, setspace, microtype, tcolorbox | 被静默接受。它们的设置不会改变任何东西,它们的命令要么被忽略,要么被当作无法识别。 |
| 未知 | chemfig、出版商提供的 .sty、拼错的名称 | “问题”标签页中会注明:“Package ... is not available here, so its formatting is not applied.” |
任何宏包中无法识别的命令都会被跳过,并列在“问题”标签页中。它在花括号中的参数通常会留在文本里,所以你能看到文字,但看不到格式。对少数命令来说,这并不是你想要的结果:它们的参数是选项列表或名称,会以多余文字的形式出现。下面的表格列出了这些情况。
如果某个宏包或文档类以 .sty 或 .cls 文件的形式放在你的项目中,Scissor LaTeX 会读取其中一部分:\newcommand 定义、它加载的宏包、颜色、页边距和段落间距。文件中的其他代码不会运行,“问题”标签页会说明这一点。
目前还不可用的常见宏包
页面布局和标题
| 宏包 | 在 Scissor LaTeX 中 | 改用 |
|---|---|---|
| fancyhdr | 会被接受,但不起作用:没有页眉和页脚。 | 无需修改;这些设置会在 TeX 发行版中生效。 |
| titlesec | 会被接受,但不起作用:标题保持文档类的样式。 | |
| sectsty | 未知宏包,会显示提示;\sectionfont 等命令被忽略。 | |
| setspace | \onehalfspacing 和 \doublespacing 被忽略。\begin{spacing}{1.5} 会在文本前输出“1.5”。 | 不要使用 spacing 环境。 |
| lineno | \linenumbers 被忽略。 |
方框、注释和高亮
| 宏包 | 在 Scissor LaTeX 中 | 改用 |
|---|---|---|
| tcolorbox, mdframed, framed | 会被接受;文本保留但没有方框,方框标题会丢失。 | quote 环境,或用带 \hline 和 | 的 tabular 做边框。 |
| todonotes | \todo{...} 无法识别:注释文本出现在正文行中。\missingfigure 也一样。 | 用 % 写注释。 |
| marginnote | \marginpar 和 \marginnote 无法识别:注释出现在正文行中。 | 脚注。 |
| soul | \st 可用(删除线)。\hl 保留文本但没有高亮;\ul 和 \so 无法识别。 | 用 \underline 加下划线。 |
| ulem | \uline 和 \sout 可用;\uwave 显示为普通文本。 |
科学和图示
| 宏包 | 在 Scissor LaTeX 中 | 改用 |
|---|---|---|
| mhchem | 文本中的 \ce{H2O} 显示为“H2O”,没有下标。在公式中会让公式变红。 | 写成 H$_2$O 或 $\mathrm{CO_2}$。 |
| chemfig | 未知宏包;\chemfig 会被跳过。 | 结构式的图片。 |
| tikz-cd, circuitikz, forest | 图形不显示,并给出提示。 | TikZ 节点和箭头,或者一张图片。 |
| pgfplotstable | \pgfplotstabletypeset 会被跳过;文件名会被输出。 | tabular。根据表格画图是可用的,参见 pgfplots。 |
| siunitx | 参见 siunitx。 | 44\,\mathrm{km} |
表格、列表和文本工具
| 宏包 | 在 Scissor LaTeX 中 | 改用 |
|---|---|---|
| tabularray | tblr 不会被读取:选项和 & 符号会作为文本输出。 | tabular,参见 array 和 tabularx。 |
| nicematrix | pNiceMatrix 及其他矩阵会让公式变红。 | amsmath 的 pmatrix。 |
| makecell | \makecell 被报告为无法识别,但其中的 \\ 仍会在单元格内换行。 | 可以原样使用;\thead 没有样式。 |
| tasks | \task 无法识别;列数会被输出。 | enumerate。 |
| glossaries, acronym | \gls、\ac 和 \printglossaries 无法识别;键会被输出。 | 直接写出术语。 |
| xspace | 会被接受,但以 \xspace 结尾的命令会吞掉后面的空格。 | 在空格前写 \name{} 或 \name\ 。 |
| ifthen | \ifthenelse 无法识别;条件和两个分支都会被输出。 | |
| beamer(文档类) | 没有幻灯片;frame 变成普通文本。 | 参见文档类。 |
示例
完全未知的宏包会产生一条提示,文档的其余部分照常排版:
未知宏包会产生一条提示
Water is a bent molecule. The drawing below is skipped:
\chemfig{H-O-H}“问题”标签页: Skipped 1 unknown command: \chemfig
方框宏包会被接受,但方框不会画出:
tcolorbox:只有文本,没有方框
\begin{tcolorbox}[title=Remember]
Erika Mustermann checks all 44 samples before noon.
\end{tcolorbox}mhchem 的化学式会丢失下标。用数学方式书写则在任何地方都可用:
mhchem 的 \ce 与手写版本
With mhchem: \ce{H2SO4}. By hand: H$_2$SO$_4$, or in a formula
$\mathrm{2\,H_2 + O_2 \rightarrow 2\,H_2O}$.“问题”标签页: Skipped 1 unknown command: \ce
用 \xspace 定义的命令,在空格前需要加 {}:
xspace:在空格前写 {}
\newcommand{\tool}{Scissor LaTeX\xspace}
Without braces: \tool runs in the browser.
With braces: \tool{} runs in the browser.缺少你需要的宏包时
- 查看“问题”标签页:它会列出未知宏包和每个被跳过的命令。
- 在这些页面中查找该宏包;上面表格的“改用”列和各宏包页面都说明了应该怎么写。
- 如果你还要在别处编译文档,请保留
\usepackage行。Scissor LaTeX 会接受它,TeX 发行版届时会应用该宏包。
另请参阅与 TeX 发行版的区别和故障排除。宏包手册见 CTAN。
常见问题
如果文档加载了 Scissor LaTeX 不认识的宏包,还能排版吗?
能。该宏包会在“问题”标签页中注明,它的格式会缺失,但文档的其余部分照常排版。
能通过添加 .sty 文件让宏包生效吗?
部分可以。Scissor LaTeX 会从项目中的 .sty 文件读取命令定义、加载的宏包、颜色、页边距和段落间距。其中的其他代码不会运行。
为什么我的文档中出现了“1.5”或“colspec=lr”这样的多余文字?
本应读取这些参数的命令或环境不受支持,所以参数最终落在了文本中。上面的表格列出了这些情况以及应该改用的写法。
本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07