最近更新 MikTeX 后,我遇到了一个奇怪的问题。我以前使用\usepackage{fixltx2e}
命令\textsubscript{}
。但是,如果我现在这样做,我会收到警告Package fixltx2e Warning: fixltx2e is not required with releases after 2015
,CTAN 对此进行了解释。然而,无论有没有,\usepackage{fixltx2e}
我都会收到未定义控制序列的错误\textsubscript
。这个命令是否被替换/重命名了,或者问题出在哪里?
\documentclass{article}
\usepackage{fixltx2e}
\begin{document}
Test\textsuperscript{1} Test\textsubscript{1}
\end{document}
日志档案:
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (MiKTeX 2.9) (preloaded format=pdflatex 2015.4.7) 5 JUN 2015 17:53
entering extended mode
**LaTeX1.tex
(LaTeX1.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 68 languages loaded.
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\size10.clo"
File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\fixltx2e.sty"
Package: fixltx2e 2015/02/21 v2.0a fixes to LaTeX (obsolete)
Package fixltx2e Warning: fixltx2e is not required with releases after 2015
(fixltx2e) All fixes are now in the LaTeX kernel.
(fixltx2e) See the latexrelease package for details.
) (LaTeX1.aux)
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 5.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 5.
! Undefined control sequence.
l.5 Test\textsuperscript{1} Test\textsubscript
{1}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
[1
{C:/Users/Manuel/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}] (LaTeX1.aux) )
Here is how much of TeX's memory you used:
211 strings out of 493698
2321 string characters out of 3141992
52149 words of memory out of 3000000
3619 multiletter control sequences out of 15000+200000
3640 words of font info for 14 fonts, out of 3000000 for 9000
1025 hyphenation exceptions out of 8191
23i,4n,17p,135b,107s stack positions out of 5000i,500n,10000p,200000b,50000s
<C:/Program Files (x86)/MiKTeX 2.9/fo
nts/type1/public/amsfonts/cm/cmr10.pfb><C:/Program Files (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr7.pfb>
Output written on LaTeX1.pdf (1 page, 18746 bytes).
PDF statistics:
14 PDF objects out of 1000 (max. 8388607)
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)
答案1
如果我使用 TeX Live 2015/prerelease,这是我的终端输出:
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./wein.tex
LaTeX2e <2015/01/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/fixltx2e.sty
Package fixltx2e Warning: fixltx2e is not required with releases after 2015
(fixltx2e) All fixes are now in the LaTeX kernel.
(fixltx2e) See the latexrelease package for details.
)
No file wein.aux.
[1{/usr/local/texlive/2015/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./wein.aux) )</usr/local/texlive/2015/texmf-dist/fonts/type1/public/amsfonts/c
m/cmr10.pfb></usr/local/texlive/2015/texmf-dist/fonts/type1/public/amsfonts/cm/
cmr7.pfb>
Output written on wein.pdf (1 page, 17909 bytes).
Transcript written on wein.log.
正如你所见,横幅上写着
LaTeX2e <2015/01/01>
而你说
LaTeX2e <2014/05/01>
您必须重建格式。我不知道如何使用 MiKTeX 完成此操作:要么通过向导按钮,要么通过命令行
initexmf --admin --dump
看http://docs.miktex.org/2.9/manual/configuring.html#mo-general
答案2
我刚刚从磁盘上的(旧)软件包中复制了fixltx2e.sty
相关定义。这应该可以工作,对于较旧的内核也是如此(仍有 TL 2014 版本)
\documentclass{article}
\makeatletter
\DeclareRobustCommand*\textsubscript[1]{%
\@textsubscript{\selectfont#1}}
\def\@textsubscript#1{%
{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\makeatother
\begin{document}
Test\textsuperscript{1}
Test\textsubscript{1}
\end{document}
答案3
自 2015 年 latex2e 发布以来,您不再需要任何内容fixltx2e
:此软件包中的所有更改都已合并到内核中:
\documentclass{article}
\begin{document}
Test\textsuperscript{superscript\textsuperscript{1}} \\
Test\textsuperscript{superscript\textsubscript{1}} \\
Test\textsubscript{subscript}
\end{document}