bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problem with texi2dvi from texinfo 6.1


From: Kurt Hornik
Subject: problem with texi2dvi from texinfo 6.1
Date: Sun, 21 Feb 2016 20:24:56 +0100

Dear maintainers,

Texinfo 6.1 has introduced a texi2dvi problem that will cause
considerable trouble for R (www.R-project.org), where on Unix texi2dvi
is used for generating pdf from latex and R's internal documentation
format. 

I attach files Rd2.tex and Rd.sty.  With these in cwd, running

   texi2dvi Rd2.tex

returns 1 with warning

Package rerunfilecheck Warning: File `Rd2.out' has changed.
(rerunfilecheck)                Rerun to get outlines right
(rerunfilecheck)                or use package `bookmark'.

instead of rerunning one more time.

Bisecting the SVN changesets suggests that the problem was introduced
with 

r6637 | gavin | 2015-09-22 19:29:58 +0200 (Tue, 22 Sep 2015) | 1 line
texi2dvi: don't call generated_files_get so often, remove tricks to handle fl 
index, don't compare sorted index files in loop

r6632 works fine.

I'll try adding a workaround for the use within R, but clearly it would
be great if the problem could be fixed.  If there is any "trick" (env
var, command line option) that could be used to avoid the problem with
texi2dvi from the current release version of texinfo, pls let me know.

Best
-k

Attachment: Rd2.tex
Description: LaTeX document

%%% Rd.sty ... Style for printing the R manual
%%% Part of the R package, http://www.R-project.org
%%% Copyright (C) 2003-2014 The R Foundation
%%% Distributed under GPL 2 or later
%%%
%%% Modified 1998/01/05 by Friedrich Leisch
%%% Modified 1998/07/07 by Martin Maechler
%%% Modified 1999/11/20 by Brian Ripley
%%% Modified 1999/12/26 by Kurt Hornik
%%% and so on.

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Rd}{}

\RequirePackage{ifthen}
address@hidden@ae}
address@hidden@ae}
address@hidden@hyper}
address@hidden@times}
address@hidden@times}
address@hidden@cm-super}
address@hidden@lm}
address@hidden@lm}
address@hidden@beramono}
address@hidden@inconsolata}
address@hidden@ae}{true}}
address@hidden@hyper}{true}}
address@hidden@times}{true}}
address@hidden@lm}{true}}
address@hidden@cm-super}{true}}
address@hidden@beramono}{true}}
address@hidden@inconsolata}{true}}
\ProcessOptions
\RequirePackage{longtable}
\setcounter{LTchunksize}{250}
address@hidden@hyper}}
address@hidden@hyper}{false}
  \message{package hyperref not found}}}
{}

\RequirePackage{bm}              % standard boldsymbol
\RequirePackage{alltt}           % {verbatim} allowing \..
\RequirePackage{verbatim}        % small example code
\RequirePackage{url}             % set urls
\RequirePackage{textcomp}        % for \textquotesingle etc


\addtolength{\textheight}{12mm}
\addtolength{\topmargin}{-9mm}   % still fits on US paper
\addtolength{\textwidth}{24mm}   % still fits on US paper
\setlength{\oddsidemargin}{10mm}
\setlength{\evensidemargin}{\oddsidemargin}

\newenvironment{display}[0]%
  {\begin{list}{}{\setlength{\leftmargin}{30pt}}\item}%
  {\end{list}}
\newcommand{\HTML}{{\normalfont\textsc{html}}}
\newcommand{\R}{{\normalfont\textsf{R}}{}}
\newcommand{\Rdash}{-}

% \def\href#1#2{\special{html:<a href="#1">}{#2}\special{html:</a>}}

\newcommand{\vneed}[1]{%
  \penalty-1000\vskip#1 plus 10pt minus #1\penalty-1000\vspace{-#1}}

\newcommand{\Rdcontents}[1]{% modified \tableofcontents -- not \chapter
address@hidden
  address@hidden

\newcommand{\Header}[2]{%
  \vneed{1ex}
  \markboth{#1}{#1}
  \noindent
  \nopagebreak
  \begin{center}
  address@hidden@hyper}}%
    address@hidden
    address@hidden
    \myaddcontentsline{toc}{subsection}{#1}%
    \pdfbookmark[1]{#1}{Rfn.#1}}
    {\addcontentsline{toc}{subsection}{#1}
      address@hidden|textbf}}
    \hrule
    \parbox{0.95\textwidth}{%
      \begin{ldescription}[1.5in]
       \item[\texttt{#1}] \emph{#2}
      \end{ldescription}}
    \hrule
  \end{center}
  \nopagebreak}
%
%
%
% \alias{<alias>}{<header>}
address@hidden@hyper}}
address@hidden \textit{(\texttt{#2})}}}}}
address@hidden \textit{(\texttt{#2})}}}}
address@hidden@hyper}}
{\newcommand{\methalias}[2]{\hypertarget{Rfn.#1}{\relax}}}
{\newcommand{\methalias}[2]{}}
% \keyword{<topic>}{<header>}
\newcommand{\keyword}[2]{\index{$*$Topic{\large\ address@hidden
%
% used prior to 2.10.0 only
\newcommand{\Itemize}[1]{\begin{itemize}{#1}\end{itemize}}
\newcommand{\Enumerate}[1]{\begin{enumerate}{#1}\end{enumerate}}
\newcommand{\describe}[1]{\begin{description}{#1}\end{description}}

\newcommand{\Tabular}[2]{%
  \par\begin{longtable}{#1}
    #2
  \end{longtable}}

\newlength{\ldescriptionwidth}
\newcommand{\ldescriptionlabel}[1]{%
  \settowidth{\ldescriptionwidth}{{#1}}%
  \ifdim\ldescriptionwidth>\labelwidth
    {\parbox[b]{\labelwidth}%
      {\makebox[0pt][l]{#1}\\[1pt]\makebox{}}}%
  \else
    \makebox[\labelwidth][l]{{#1}}%
  \fi
  \hfil\relax}
\newenvironment{ldescription}[1][1in]%
  {\begin{list}{}%
    {\setlength{\labelwidth}{#1}%
      \setlength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \renewcommand{\makelabel}{\ldescriptionlabel}}}%
  {\end{list}}

\newenvironment{Rdsection}[1]{%
  address@hidden
  \begin{list}{}{\setlength{\leftmargin}{0.25in}}\item}
  {\end{list}}

\newenvironment{Arguments}{%
  \begin{Rdsection}{Arguments}}{\end{Rdsection}}
\newenvironment{Author}{%
  \begin{Rdsection}{Author(s)}}{\end{Rdsection}}
\newenvironment{Description}{%
  \begin{Rdsection}{Description}}{\end{Rdsection}}
\newenvironment{Details}{%
  \begin{Rdsection}{Details}}{\end{Rdsection}}
\newenvironment{Examples}{%
  \begin{Rdsection}{Examples}}{\end{Rdsection}}
\newenvironment{Note}{%
  \begin{Rdsection}{Note}}{\end{Rdsection}}
\newenvironment{References}{%
  \begin{Rdsection}{References}}{\end{Rdsection}}
\newenvironment{SeeAlso}{%
  \begin{Rdsection}{See Also}}{\end{Rdsection}}
\newenvironment{Format}{%
  \begin{Rdsection}{Format}}{\end{Rdsection}}
\newenvironment{Source}{%
  \begin{Rdsection}{Source}}{\end{Rdsection}}
\newenvironment{Section}[1]{%
  \begin{Rdsection}{#1}}{\end{Rdsection}}
\newenvironment{Usage}{%
  \begin{Rdsection}{Usage}}{\end{Rdsection}}
\newenvironment{Value}{%
  \begin{Rdsection}{Value}}{\end{Rdsection}}

\newenvironment{SubSection}[1]{%
  \begin{list}{}{\setlength{\leftmargin}{0.1in}}\item \textbf{#1: }}{\end{list}}
\newenvironment{SubSubSection}[1]{%
  \begin{list}{}{\setlength{\leftmargin}{0.1in}}\item \textit{#1: }}{\end{list}}

\newenvironment{ExampleCode}{\small\verbatim}{\endverbatim}

\ifx\textbackslash\undefined%-- e.g. for MM
  \newcommand{\bsl}{\ifmmode\backslash\else$\backslash$\fi}
\else
  \newcommand{\bsl}{\ifmmode\backslash\else\textbackslash\fi}
\fi
%fails for index (but is not used there...)
\newcommand{\SIs}{\relax\ifmmode\leftarrow\else$\leftarrow$\fi}
\newcommand{\SIIs}{\relax\ifmmode<\leftarrow\else$<\leftarrow$\fi}
\newcommand{\Sbecomes}{\relax\ifmmode\rightarrow\else$\rightarrow$\fi}
%
\newcommand{\deqn}[2]{\[#1\]}
\newcommand{\eqn}[2]{$#1$}
\newcommand{\bold}[1]{\ifmmode\bm{#1}\else\textbf{#1}\fi}
%% as from R 2.12.0 set \file in monospaced font, not sans-serif
\newcommand{\file}[1]{`\texttt{#1}'}

\newcommand{\Figure}[2]{\includegraphics[#2]{#1}}

address@hidden@hyper}}
address@hidden
address@hidden

address@hidden@hyper}}
address@hidden@Rhref}
  address@hidden
address@hidden@Rhref}
  address@hidden

%% as from R 2.10.0 set \email in monospaced font (like \url)
%\newcommand{\email}[1]{$\langle$\texttt{#1}$\rangle$}
\newcommand{\email}[1]{\normalfont\texttt{\textless#1\textgreater}}

%% \code without `-' ligatures

%{\catcode`\-=\active%
%   \global\def\code{\bgroup%
%     \catcode`\-=\active \let-\codedash%
%     address@hidden
%     \def\codedash{-\discretionary{}{}{}}

%% If we simply do
%%   address@hidden@address@hidden
%% then e.g.
%%   \code{\LinkA{attr<-}{attr<.Rdash.}} 
%% will give an undefined control sequence `\< error when hyperref is
%% used (so that \LinkA uses \hyperlink).
%% Hence, use a noligs list without < and > for now, and use the same
%% list for \code and \samp and their variants.
address@hidden@list{\do\`\do\,\do\'\do\-}
address@hidden@noligs address@hidden@list}

address@hidden@address@hidden
address@hidden
\let\command=\code
\let\env=\code

address@hidden@address@hidden
address@hidden'}
\let\option=\samp

address@hidden@address@hidden@address@hidden@address@hidden
address@hidden@dospecials{\do\$\do\&\do\#\do\^\do\_\do\%\do\~}
address@hidden #1\egroup}

% This is a workaround for the old Rdconv to handle \Sexpr by echoing it
% Rd2latex() should never let \Sexpr through to here.
\newcommand\Sexpr[2][]{{\normalfont\texttt{\bsl Sexpr[#1]\{#2\}}}}

\newcommand{\var}[1]{{\normalfont\textsl{#1}}}

\newcommand{\dfn}[1]{\textsl{#1}}
\let\Cite=\dfn

\newcommand{\acronym}[1]{\textsc{\lowercase{#1}}}
\newcommand{\kbd}[1]{{\normalfont\texttt{\textsl{#1}}}}

\newcommand{\strong}[1]{{\normalfont\fontseries{b}\selectfont #1}}
\let\pkg=\strong

\newcommand{\sQuote}[1]{`#1'}
\newcommand{\dQuote}[1]{``#1''}

address@hidden@ae}{true}}{}
address@hidden@address@hidden@ae}}{%
  \usepackage[T1]{fontenc}
  \usepackage{ae}
  \input{t1aett.fd}
  \DeclareFontShape{T1}{aett}{bx}{n}{<->ssub*aett/m/n}{}}{}
address@hidden@times}{true}}{}
address@hidden@address@hidden@times}}{%
  \usepackage[T1]{fontenc}
  \usepackage{times}}{}
address@hidden@lm}{true}}{}
address@hidden@address@hidden@lm}}{%
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}}{}
address@hidden@cm-super}}{%
  \usepackage[T1]{fontenc}}{}
address@hidden@beramono}}{%
  \usepackage[scaled=.8]{beramono}}{}
%% it appears that all versions of zi4.sty support [noupquote],
%% whereas only those since 2013/06/09 of inconsolata.sty do: such
%% installations should also have zi4.sty
address@hidden@inconsolata}}{%
 
\IfFileExists{zi4.sty}{\usepackage[noupquote]{zi4}}{\usepackage{inconsolata}}}{}

%% needs to come after \code is defined
%% inspired by an earlier version of upquote.sty
\begingroup
\catcode`'=\active \catcode``=\active
address@hidden@address@hidden {\let`\textasciigrave \let'\textquotesingle}
address@hidden@address@hidden {\let`\textasciigrave \let'\textquotesingle}
\endgroup

%% We use \pkg{verbatim} for our ExampleCode environment, which in its
%% address@hidden has an explicit address@hidden@address@hidden
%% rather than (the identical) address@hidden from the LaTeX2e kernel.
%% Hence, we add to address@hidden ... suggestion by Bernd Raichle
%% <address@hidden>.
address@hidden@address@hidden@noligs

address@hidden@hyper}}{%
  \RequirePackage{color}    
  \def\myaddcontentsline#1#2#3{%
    \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}{page.\thepage}}}
  \RequirePackage{hyperref}
  \DeclareTextCommand{\Rpercent}{PD1}{\045} % percent
  %% <NOTE>
  %% Formerly in R's hyperref.cfg, possibly to be shared with Sweave.sty
  %% as well (but without setting pagebackref as this can give trouble
  %% for .bib entries containing URLs with '#' characters).
  \definecolor{Blue}{rgb}{0,0,0.8}
  \definecolor{Red}{rgb}{0.7,0,0}
  \hypersetup{%
    hyperindex,%
    colorlinks,%
    pagebackref,%
    linktocpage,%
    plainpages=false,%
    linkcolor=Blue,%
    citecolor=Blue,%
    urlcolor=Red,%
    pdfstartview=Fit,%
    pdfview={XYZ null null null}%
  }
  %% </NOTE>
  \renewcommand\tableofcontents{%
    address@hidden
      address@hidden
    \else
      address@hidden
    \fi
    \chapter*{\contentsname
        address@hidden
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
    \pdfbookmark{Contents}{contents}
    address@hidden
    address@hidden
    }
  \renewenvironment{theindex}
  address@hidden
    address@hidden
    \else
    address@hidden
    \fi
    \columnseprule \z@
    \columnsep 35\p@
    address@hidden
    address@hidden
    {\MakeUppercase\indexname}%
    \pdfbookmark{Index}{index}
    \myaddcontentsline{toc}{chapter}{Index}
    \thispagestyle{plain}\parindent\z@
    \parskip\z@ address@hidden address@hidden
    \raggedright
    address@hidden
  address@hidden
  }{
  \renewenvironment{theindex}
  address@hidden
    address@hidden
    \else
    address@hidden
    \fi
    \columnseprule \z@
    \columnsep 35\p@
    address@hidden
    address@hidden
    {\MakeUppercase\indexname}%
    \addcontentsline{toc}{chapter}{Index}
    \thispagestyle{plain}\parindent\z@
    \parskip\z@ address@hidden address@hidden
    \raggedright
    address@hidden
  address@hidden
  }

% new definitions for R >= 2.0.0
address@hidden@hyper}}
address@hidden|textit}}}
address@hidden|textit}}}
%
% \alias{<alias>}{<header>}
address@hidden@hyper}}
address@hidden \textit{(\texttt{#2})}}}}}
address@hidden \textit{(\texttt{#2})}}}}
% \aliasB has no indexing.
address@hidden@hyper}}
{\newcommand{\aliasB}[3]{\hypertarget{Rfn.#3}{\relax}}}
{\newcommand{\aliasB}[3]{}}
address@hidden@hyper}}
{\newcommand{\methaliasA}[3]{\hypertarget{Rfn.#3}{\relax}}}
{\newcommand{\methaliasA}[3]{}}

address@hidden@hyper}}
{\newcommand{\CRANpkg}[1]{\href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}}}
{\newcommand{\CRANpkg}[1]{\pkg{#1}}}

\newcommand{\HeaderA}[3]{%
  \vneed{1ex}
  \markboth{#1}{#1}
  \noindent
  \nopagebreak
  \begin{center}
  address@hidden@hyper}}%
    address@hidden
    address@hidden
    \myaddcontentsline{toc}{subsection}{#1}%
    \pdfbookmark[1]{#1}{Rfn.#3}}
    {\addcontentsline{toc}{subsection}{#1}
      address@hidden|textbf}}
    \hrule
    \parbox{0.95\textwidth}{%
      \begin{ldescription}[1.5in]
       \item[\texttt{#1}] \emph{#2}
      \end{ldescription}}
    \hrule
  \end{center}
  \nopagebreak}
\DeclareTextCommandDefault{\Rpercent}{\%{}}
%% for use with the output of encoded_text_to_latex
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
\ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
\ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
\ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}}
\ProvideTextCommandDefault{\textcent}{\TextSymbolUnavailable\textcent}
\ProvideTextCommandDefault{\textyen}{\TextSymbolUnavailable\textyen}
\ProvideTextCommandDefault{\textcurrency}{\TextSymbolUnavailable\textcurrency}
\ProvideTextCommandDefault{\textbrokenbar}{\TextSymbolUnavailable\textbrokenbar}
\ProvideTextCommandDefault{\texteuro}{\TextSymbolUnavailable\texteuro}
\providecommand{\mathonesuperior}{\ensuremath{^1}}
\providecommand{\mathtwosuperior}{\ensuremath{^2}}
\providecommand{\maththreesuperior}{\ensuremath{^3}}

\InputIfFileExists{Rd.cfg}{%
  \typeout{Reading personal defaults ...}}{}

reply via email to

[Prev in Thread] Current Thread [Next in Thread]