4

After a recent update, the newpx font packages (newpxtext, newpxmath) throw an error when trying to make a superscript footnote number within a group where the boldface series is selected.

\documentclass{article}
\usepackage{newpxtext}
\usepackage[T1]{fontenc}

\begin{document}
\bfseries % Comment this line to eliminate error
Error at footnote number here.\footnote{Error just now.}
\end{document}

Compiling with pdflatex generates this error:

> (/usr/local/texlive/2014/texmf-dist/tex/latex/newpx/t1zplsups.fd)
>     ! No declaration for shape T1/zplsups/n/n.
>     sub@sfcnt ...e forspace shapespace mandatory@arg }
>                                                       error@fontshape else #1{Fo...
>     l.7 Error at footnote number here.\footnote{
>                                                 Error just now.}

This makes it look like the problem is in the file t1plsups.fd. What's changed in the update that broke this, and can I fix it?

closed as off-topic by musarithmia, Mico, Joseph Wright Mar 10 '15 at 21:38

  • This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • I think there was a discussion recently that bug-report variety postings were discouraged on this site. However, I can't find that thread at the moment. – Mico Mar 4 '15 at 6:16
  • 1
    @Mico I'll delete it when the new packages are posted, since it won't be helpful to future users. I didn't know for sure if it was a bug, and wanted to find out. And I didn't know there would be such a quick correction. Sometimes bugs that don't get fixed require long-term workarounds. – musarithmia Mar 4 '15 at 12:39
  • 2
    I'm voting to close this question as off-topic because the problem turned out to be a bug in the package, which has now been fixed. – musarithmia Mar 10 '15 at 21:34
5

You have to correct the font definition file. I'm not sure what the correct version should look like without further investigation but I think this will do the job:

\documentclass{article}
\usepackage{filecontents}
\makeatletter
\begin{filecontents}{t1zplsups.fd}
\ProvidesFile{t1zplsups.fd}[2015/03/04 v1.0 PATCHED]
\expandafter\ifx\csname zpl@scaled\endcsname\relax
  \let\zpl@scaled\@empty%
\fi

\DeclareFontFamily{T1}{zplsups}{}
\DeclareFontShape{T1}{zplsups}{m}{n}{   %medium
     <-> \zpl@scaled zplsups-Regular-t1%
}{}
\DeclareFontShape{T1}{zplsups}{m}{it}{  %italic
     <-> \zpl@scaled zplsups-Italic-t1%
}{}
\DeclareFontShape{T1}{zplsups}{b}{n}{  %bold
     <-> \zpl@scaled zplsups-Bold-t1%
}{}
\DeclareFontShape{T1}{zplsups}{b}{it}{          %bold italic
     <-> \zpl@scaled zplsups-BoldItalic-t1%
}{}

\DeclareFontShape{T1}{zplsups}{m}{sc}{  %cap & small cap
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{T1}{zplsups}{m}{sl}{  %slanted
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{T1}{zplsups}{m}{scit}{        %italic
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{T1}{zplsups}{m}{ui}{          %unslanted italic
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{sc}{ %bold extended cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{sl}{ %bold extended slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{it}{ %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{scit}{       %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{ui}{         %bold extended unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{n}{  %bold extended
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{sc}{  %bold cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{sl}{  %bold slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{b}{ui}{          %bold unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{scit}{        %bold italic
     <-> ssub * zplsups/b/it%
}{}
\endinput
\end{filecontents}
\makeatother
\usepackage{newpxtext}
\usepackage[T1]{fontenc}

\begin{document}
\bfseries % Comment this line to eliminate error
Error at footnote number here.\footnote{Error just now.}
\end{document}

Please report the bug to the maintainer of the package.

  • 2
    Thanks - I've just written to Michael Sharpe, the maintainer of the newpx packages. – musarithmia Mar 4 '15 at 4:30
1

Michael Sharpe, the package author, has updated the package on CTAN to correct this error. The recommendation now (March 2015) is to update your distribution.

If for some reason that is not possible, the author provided the following three .fd files which you can drop in your working directory to restore things to working order.


File: ly1zplsups.fd


\ProvidesFile{ly1zplsups.fd}[2015/01/17 v1.0]
\expandafter\ifx\csname zpl@scaled\endcsname\relax
  \let\zpl@scaled\@empty%
\fi

\DeclareFontFamily{LY1}{zplsups}{}
\DeclareFontShape{LY1}{zplsups}{m}{n}{  %medium
     <-> \zpl@scaled zplsups-Regular-ly1%
}{}
\DeclareFontShape{LY1}{zplsups}{m}{it}{ %italic
     <-> \zpl@scaled zplsups-Italic-ly1%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{n}{  %bold 
     <-> \zpl@scaled zplsups-Bold-ly1%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{it}{     %bold italic
     <-> \zpl@scaled zplsups-BoldItalic-ly1%
}{}

\DeclareFontShape{LY1}{zplsups}{m}{sc}{ %cap & small cap
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{LY1}{zplsups}{m}{sl}{ %slanted
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{LY1}{zplsups}{m}{scit}{   %italic
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{LY1}{zplsups}{m}{ui}{     %unslanted italic
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{sc}{    %bold extended cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{sl}{    %bold extended slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{it}{    %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{scit}{  %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{ui}{    %bold extended unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{LY1}{zplsups}{bx}{n}{ %bold extended
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{sc}{ %bold cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{sl}{ %bold slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{ui}{     %bold unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{LY1}{zplsups}{b}{scit}{       %bold italic
     <-> ssub * zplsups/b/it%
}{}
\endinput

File: ot1zplsups.fd


\ProvidesFile{ot1zplsups.fd}[2015/01/17 v1.0]
\expandafter\ifx\csname zpl@scaled\endcsname\relax
  \let\zpl@scaled\@empty%
\fi

\DeclareFontFamily{OT1}{zplsups}{}
\DeclareFontShape{OT1}{zplsups}{m}{n}{  %medium
     <-> \zpl@scaled zplsups-Regular-ot1%
}{}
\DeclareFontShape{OT1}{zplsups}{m}{it}{ %italic
     <-> \zpl@scaled zplsups-Italic-ot1%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{n}{  %bold 
     <-> \zpl@scaled zplsups-Bold-ot1%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{it}{     %bold italic
     <-> \zpl@scaled zplsups-BoldItalic-ot1%
}{}

\DeclareFontShape{OT1}{zplsups}{m}{sc}{ %cap & small cap
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{OT1}{zplsups}{m}{sl}{ %slanted
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{OT1}{zplsups}{m}{scit}{   %italic
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{OT1}{zplsups}{m}{ui}{     %unslanted italic
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{sc}{    %bold extended cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{sl}{    %bold extended slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{it}{    %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{scit}{  %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{ui}{    %bold extended unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{OT1}{zplsups}{bx}{n}{ %bold extended
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{sc}{ %bold cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{sl}{ %bold slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{ui}{     %bold unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{OT1}{zplsups}{b}{scit}{       %bold italic
     <-> ssub * zplsups/b/it%
}{}
\endinput

File: t1zplsups.fd


\ProvidesFile{t1zplsups.fd}[2015/01/17 v1.0]
\expandafter\ifx\csname zpl@scaled\endcsname\relax
  \let\zpl@scaled\@empty%
\fi

\DeclareFontFamily{T1}{zplsups}{}
\DeclareFontShape{T1}{zplsups}{m}{n}{   %medium
     <-> \zpl@scaled zplsups-Regular-t1%
}{}
\DeclareFontShape{T1}{zplsups}{m}{it}{  %italic
     <-> \zpl@scaled zplsups-Italic-t1%
}{}
\DeclareFontShape{T1}{zplsups}{b}{n}{   %bold 
     <-> \zpl@scaled zplsups-Bold-t1%
}{}
\DeclareFontShape{T1}{zplsups}{b}{it}{      %bold italic
     <-> \zpl@scaled zplsups-BoldItalic-t1%
}{}

\DeclareFontShape{T1}{zplsups}{m}{sc}{  %cap & small cap
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{T1}{zplsups}{m}{sl}{  %slanted
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{T1}{zplsups}{m}{scit}{    %italic
     <-> ssub * zplsups/m/it%
}{}
\DeclareFontShape{T1}{zplsups}{m}{ui}{      %unslanted italic
     <-> ssub * zplsups/m/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{sc}{ %bold extended cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{sl}{ %bold extended slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{it}{ %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{scit}{   %bold extended italic
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{ui}{     %bold extended unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{bx}{n}{  %bold extended
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{sc}{  %bold cap & small cap
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{sl}{  %bold slanted
     <-> ssub * zplsups/b/it%
}{}
\DeclareFontShape{T1}{zplsups}{b}{ui}{      %bold unslanted italic
     <-> ssub * zplsups/b/n%
}{}
\DeclareFontShape{T1}{zplsups}{b}{scit}{    %bold italic
     <-> ssub * zplsups/b/it%
}{}
\endinput

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