6

I ran into a weird problem after a recent MikTeX update. I used to use \usepackage{fixltx2e} to get the command \textsubscript{}. However, if I do this now I get the warning Package fixltx2e Warning: fixltx2e is not required with releases after 2015, which is explained on CTAN. Nevertheless, with or without \usepackage{fixltx2e} I get the error that \textsubscript is an undefined control sequence. Was this command replaced/renamed somwhow or where does the problem lie here?

\documentclass{article}
\usepackage{fixltx2e}

\begin{document}
Test\textsuperscript{1} Test\textsubscript{1}
\end{document}

Log file:

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)
  • 2
    You have downloaded the package, but your kernel is not prepared for this. Wait some days until the new release of TeXlive or MikTeX is shipped, you will get the new Kernel then – user31729 Jun 5 '15 at 16:10
  • 2
    You should rebuild the formats. From the banner, it's clear that the format still loads LaTeX from 2014. There should be some button for this in the MiKTeX wizard. – egreg Jun 5 '15 at 16:12
  • @egreg Thanks, updating the formats was all that needed to be done. – Manuel Weinkauf Jun 5 '15 at 16:19
5

This is my terminal output if I use 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.

As you see, the banner line says

LaTeX2e <2015/01/01>

while yours says

LaTeX2e <2014/05/01>

You have to rebuild the formats. How this is done with MiKTeX I don't really know: either from some wizard button or from the command line with

initexmf --admin --dump

See http://docs.miktex.org/2.9/manual/configuring.html#mo-general

  • And if anybody is looking for it, its a button in MikTeX 2.9>Maintenance>Settings – Manuel Weinkauf Jun 5 '15 at 16:23
  • @ManuelWeinkauf Sorry, but I'm MiKTeX impaired, for impossibility of running it. :) – egreg Jun 5 '15 at 16:27
2

I've just copied from the (older) fixltx2e.sty package on my disk the relevant definition. This should work, with older kernels too (still have TL 2014 release)

\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}

enter image description here

2

Since the 2015 release of latex2e, you don't need any more fixltx2e: all changes in this package have been incorporated into the kernel:

\documentclass{article}

\begin{document}

Test\textsuperscript{superscript\textsuperscript{1}} \\

Test\textsuperscript{superscript\textsubscript{1}} \\

Test\textsubscript{subscript}
\end{document} 

enter image description here

  • It's not at all necessary. – egreg Jun 5 '15 at 17:34
  • @egreg: on my system (MiKTeX 2.9 64bit), \textsubscript doesn't compile, unless I load changes. – Bernard Jun 5 '15 at 17:39
  • When LaTeX 2015/01/01 is used, \textsubscript is defined by default. You probably don't have the last release, differently from the OP. – egreg Jun 5 '15 at 17:40
  • @egreg: You were right, I had the 2014 version.I don't understand why ltx-base was not updated. I did it manually. Nothing's worth il lavorazione a mano. Thankd fot the information. I modified my answer accordingly. – Bernard Jun 5 '15 at 18:12
  • TeX Live marks some packages so that an update to them triggers running fmtutil-sys (if formats are involved) or updmap-sys (for font packages) or other maintenance programs. As far as I can see from questions here, MiKTeX hasn't this facility and users often have incorrect font maps when font packages are updated. – egreg Jun 5 '15 at 18:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.