“renewcommand” \SS 安全吗?(哪些包使用 \SS 命令?)

“renewcommand” \SS 安全吗?(哪些包使用 \SS 命令?)

我尝试设置

\newcommand{\SS}{\mathcal{S}}

但我发现这个命令已经定义了。

因此,我在我的代码上尝试了本机命令,我发现它是一个“简单”的双 S。

现在我可以使用以下方法解决我的问题

\renewcommand{\SS}{\mathcal{S}}

但我不确定它是否安全(我不知道\SSLaTeX 是否仅使用它来绘制(简单或特殊的)双 S,或者也用于其他东西)。

有人知道执行“renewcommand”是否安全(或者什么时候不安全)吗\SS

答案1

如果你想了解命令的用途,你可以使用\show宏:

% arara: pdflatex

\documentclass{article}

\begin{document}
%\show\cS
\show\SS
\end{document}

这将显示:

\SS=macro:
->\T1-cmd \SS \T1\SS .
l.7 \show\SS

好吧,这些信息并不酷,但您可以看到它与 T1 编码有关,并且您看到它被用作宏。谷歌搜索相同的宏很容易找到定义(德语大写 sz 字母)。\cS注释中推荐的命令结果是:

\cS=undefined.
l.6 \show\cS

因此可以安全使用。

答案2

关于重新定义命令\SS(“ß”的大写)以缩短命令的安全性\mathcal{S},@egreg 说:

“不太安全:您的书目数据可能包含 ß,而该 ß 又可能会大写:最终结果至少会令人费解。”

这绝对是真的,所以我决定遵循@PrzemysławScherwentke 的建议:

“那么,作为书法字母 S 的名称又如何呢\cS?在标准 LaTeX 中,它没有定义。”

事实上\cS,正如@LaRiFaRi(以及)所示\show\cS,命令是安全的:

\cS=undefined.
l.6 \show\cS

谢谢大家:我将我的代码从 更改\renewcommand{\SS}{\mathcal{S}}\newcommand{\cS}{\mathcal{S}}

科拉多。

答案3

不,这不安全。

\SS 可能来自连续标题中 \ss(小写 ß)转换为大写。当您重新定义它时,如果章节或节标题中恰好有德语尖锐 s,则连续标题可能会出现意外外观。还可能出现后续错误,例如“缺少 $ 插入”,具体取决于您对 \SS 的重新定义。

相关内容