[tex-live] several bug reports (beamer, hyperref, listings)
Qing Lee
sobenlee at gmail.com
Sat Jun 28 13:12:35 CEST 2014
On 2014-06-28 at 05:33:40 +0800 GMT, Norbert Preining wrote:
> Hi everyone,
>
> I will try to contact upupstream, but for now a collection of broken
> things with the current status, all was working before (2013) AFAIR:
>
>
> * beamer and unhbox
> ===================
> ! Missing { inserted.
> <to be read again>
> \unhbox
> l.5 \end{frame}
>
> ?
>
> \documentclass{beamer}
> \begin{document}
> \begin{frame}
> a$^\mbox{b}$
> \end{frame}
> \end{document}
>
>
> * hyperref
> ==========
> ! Package keyval Error: pagelabels undefined.
>
> See the keyval package documentation for explanation.
> Type H <return> for immediate help.
> ...
>
> l.4319 \ProcessKeyvalOptions{Hyp}
>
> ?
>
>
> \documentclass[hyperref={pagelabels=false}]{beamer}
> \begin{document}
> \end{document}
>
>
>
> * listings
> ==========
> ! Missing { inserted.
> <inserted text>
> {
> l.7 \end{tabular}
>
> ?
>
> \documentclass{article}
> \usepackage{listings}
> \newcommand\foo{\lstinline{t}}
> \begin{document}
> \begin{tabular}{l}
> \foo
> \end{tabular}
> \end{document}
>
It seems that listings used brace trick in a wrong way since 2014/03/04 v1.5c:
\newcommand\lstinline[1][]{%
\leavevmode\bgroup % \hbox\bgroup --> \bgroup
\def\lst at boxpos{b}%
\lsthk at PreSet\lstset{flexiblecolumns,#1}%
\lsthk at TextStyle
\@ifnextchar\bgroup{%
% \end{macrocode}
% \lstthanks{Luc~Van~Eycken}{Luc.VanEycken at esat.kuleuven.be}{2014/01/22}
% reported, that the experimental implementation of |\lstinline| with
% braces instead of characters surrounding the source code resulted in an
% error if used in a tabular environment. He found that this error comes
% from the master counter (cf. appendix D (Dirty Tricks), item 5. (Brace
% hacks), of the TeXbook (p. 385-386)). Adding the following line remedies
% the wrong behaviour.
% \begin{macrocode}
\ifnum`{=0}\fi%
\afterassignment\lst at InlineG \let\@let at token}%
\lstinline@}
A quick fix is
\makeatletter
\renewcommand\lstinline[1][]{%
\leavevmode\bgroup % \hbox\bgroup --> \bgroup
\def\lst at boxpos{b}%
\lsthk at PreSet\lstset{flexiblecolumns,#1}%
\lsthk at TextStyle
\ifnum\iffalse{\fi`}=\z@\fi
\@ifnextchar\bgroup{%
\ifnum`{=\z@}\fi%
\afterassignment\lst at InlineG \let\@let at token}{%
\ifnum`{=\z@}\fi\lstinline@}}
\makeatother
Details: http://tex.stackexchange.com/a/10371
Qing Lee
More information about the tex-live
mailing list