跳到正文

此页面的英文版更新。

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 中改用
tabularraytblr 不会被读取:选项和 & 符号会作为文本输出。tabular,参见 array 和 tabularx。
nicematrixpNiceMatrix 及其他矩阵会让公式变红。amsmath 的 pmatrix。
makecell\makecell 被报告为无法识别,但其中的 \\ 仍会在单元格内换行。可以原样使用;\thead 没有样式。
tasks\task 无法识别;列数会被输出。enumerate。
glossaries, acronym\gls、\ac 和 \printglossaries 无法识别;键会被输出。直接写出术语。
xspace会被接受,但以 \xspace 结尾的命令会吞掉后面的空格。在空格前写 \name{} 或 \name\ 。
ifthen\ifthenelse 无法识别;条件和两个分支都会被输出。
beamer(文档类)没有幻灯片;frame 变成普通文本。参见文档类。

示例

完全未知的宏包会产生一条提示,文档的其余部分照常排版:

未知宏包会产生一条提示

LaTeX导言区: \usepackage{chemfig}在编辑器中打开 (在新标签页中打开)
Water is a bent molecule. The drawing below is skipped:
\chemfig{H-O-H}

“问题”标签页: Skipped 1 unknown command: \chemfig

方框宏包会被接受,但方框不会画出:

tcolorbox:只有文本,没有方框

LaTeX导言区: \usepackage{tcolorbox}在编辑器中打开 (在新标签页中打开)
\begin{tcolorbox}[title=Remember]
Erika Mustermann checks all 44 samples before noon.
\end{tcolorbox}

mhchem 的化学式会丢失下标。用数学方式书写则在任何地方都可用:

mhchem 的 \ce 与手写版本

LaTeX导言区: \usepackage{mhchem}在编辑器中打开 (在新标签页中打开)
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:在空格前写 {}

LaTeX导言区: \usepackage{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