更新

更新

复杂性包重新定义了 \L,因此您不会得到带有划线的 L(即 Ł)。使用该包时如何仍能得到那个波兰字母?以下是一个例子:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bold,basic]{complexity}

\begin{document}
Even Ł gets rendered as a bold L.
\begin{thebibliography}{50}
\bibitem{GKKLS:2015} Homer J.  {\L}{\k{a}}cki. \textsl{Mmmmm...donuts}.
\end{thebibliography}
\end{document}

我特别想在参考书目中使用它。

答案1

该软件包有

% We redefine 4 commands inside of Latex, but preserve them for usage

\let\defaultL\L
\renewcommand{\L}{\ComplexityFont{L}}
\let\defaultP\P
\renewcommand{\P}{\ComplexityFont{P}}
\let\defaultS\S
\renewcommand{\S}{\ComplexityFont{S}}

这违反了所有基本的 LaTeX 惯例不重新定义与 LaTeX 内部字符表示 (LICR) 相关的宏。至少应该有一个不重新定义\L\P和 的选项\S

手册中提到的使用\defaultL\defaultP和的解决方法是无效的,因为如果使用 UTF-8 输入、或,结果将是\defaultSŁ§大号年代分别是因为 UTF-8 字符在 LICR 中被翻译回\L\P\S。至少应该有一个选项可以避免这些重新定义。

然而,返回很容易:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bold,basic]{complexity}

% fix the bad mistake in complexity.sty
\let\L\defaultL
\let\P\defaultP
\let\S\defaultS

\begin{document}
Even Ł gets rendered as a bold L.
\begin{thebibliography}{50}
\bibitem{GKKLS:2015} Homer J.  {\L}{\k{a}}cki. \textsl{Mmmmm...donuts}.
\end{thebibliography}
\end{document}

在此处输入图片描述

更新

complexity2017-09-16 发布的软件包 0.81a 版本开始,该disableredefinitions选项可用。使用该选项,、\L\P不再\S重新定义,而是\cL\cP\cS可以用作\ComplexityFont{L}\ComplexityFont{P}和的简写\ComplexityFont{P}

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bold,basic,disableredefinitions]{complexity}

\begin{document}
Now Ł gets rendered correctly and \cL{} prints the class

\begin{thebibliography}{1}

\bibitem{GKKLS:2015} Homer J.  {\L}{\k{a}}cki. \textsl{Mmmmm...donuts}.

\end{thebibliography}

\end{document}

在此处输入图片描述

答案2

这是来自包装文档

复杂性包中的三个命令覆盖了内置的 T E X 命令。具体来说,\L(排版符号 L)、\P(排版 ¶ )和 \S(排版符号 § )均已重新定义以供包使用。复杂性包保留了这些命令,以便您仍可以使用它们。要使用这些符号中的任何一个,请使用命令 \默认L 、 \defaultP 和 \defaultS 代替

相关内容