develooper Front page | perl.perl5.porters | Postings from July 2014

[perl #117365] pod2latex incorrectly handles index entries

From:
James E Keenan via RT
Date:
July 4, 2014 01:57
Subject:
[perl #117365] pod2latex incorrectly handles index entries
Message ID:
rt-4.0.18-14016-1404439068-1356.117365-15-0@perl.org
On Tue Mar 26 09:15:25 2013, brian.samek@gmail.com wrote:
> 
> This is a bug report for perl from brian.samek@gmail.com,
> generated with the help of perlbug 1.39 running under perl 5.14.2.
> 
> pod2latex incorrectly handles index entries following \sections or
> \subsections in Pod files, so some correctly formatted Pod files will
> not compile to DVI or PDF from LaTeX. For example, the following will
> produce an error:
> 

[snip]

As of Perl 5.019, Pod-LaTeX is no longer distributed with the Perl 5 core.  So I have moved this bug report into that distribution's bug queue: https://rt.cpan.org/Ticket/Display.html?id=96929.

Closing this particular ticket.

Thank you very much.
Jim Keenan
> perldoc -u perlfaq4 > perlfaq4.pod
> pod2latex -full perlfaq4.pod
> latex perlfaq4.tex
> 
> Here is a minimal example that works:
> 
> =head1 Heading
> X<Foo>X<Bar>
> 
> Here is a minimal example of the structure in perlfaq4.pod that causes
> the problem:
> 
> =head1 Heading
> X<Foo>
> X<Bar>
> 
> When there is a new line between index entries, pod2latex nests the
> index entries in the heading like this:
> 
> \section{Heading
> \index{Foo}
> 
> \index{Bar}\label{Heading_Foo_Bar}\index{Heading
> Foo
> 
> Bar}}
> 
> However, in LaTeX it is not legal to start a new paragraph within a
> \section or \subsection. LaTeX therefore throws the error, "Paragraph
> ended before \@[s]sect was complete."
> 
> If there are only a few index entries, they will be listed on the same
> line following the \section or \subsection, so pod2latex will not
> create
> a new paragraph within the \section or \subsection. But with a
> sufficient number of index entries, they will be listed on multiple
> lines, like those following the subsection "How do I find yesterday's
> date?" in perlfaq4.pod.
> 
> \index entries should appear outside the closing brace for the prior
> \section or \subsection.
> 
> ---
> Flags:
>     category=library
>     severity=low
>     module=Pod::LaTeX
> ---
> Site configuration information for perl 5.14.2:
> 
> Configured by Debian Project at Mon Mar 18 19:35:03 UTC 2013.
> 
> Summary of my perl5 (revision 5 version 14 subversion 2)
> configuration:
> 
> Platform:
>   osname=linux, osvers=3.2.0-37-generic, archname=x86_64-linux-gnu-
> thread-multi
>   uname='linux allspice 3.2.0-37-generic #58-ubuntu smp thu jan 24
> 15:28:10 utc 2013 x86_64 x86_64 x86_64 gnulinux '
>   config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN
> -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4
> -Wformat -Werror=format-security -Dldflags= -Wl,-Bsymbolic-functions
> -Wl,-z,relro -Dlddlflags=-shared -Wl,-Bsymbolic-functions -Wl,-z,relro
> -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr
> -Dprivlib=/usr/share/perl/5.14 -Darchlib=/usr/lib/perl/5.14
> -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5
> -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local
> -Dsitelib=/usr/local/share/perl/5.14.2
> -Dsitearch=/usr/local/lib/perl/5.14.2 -Dman1dir=/usr/share/man/man1
> -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1
> -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1
> -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh
> -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2
> -Duseshrplib -Dlibperl=libperl.so.5.14.2 -des'
>   hint=recommended, useposix=true, d_sigaction=define
>   useithreads=define, usemultiplicity=define
>   useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>   use64bitint=define, use64bitall=define, uselongdouble=undef
>   usemymalloc=n, bincompat5005=undef
> Compiler:
>   cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-
> protector -fno-strict-aliasing -pipe -I/usr/local/include
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>   optimize='-O2 -g',
>   cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector
> -fno-strict-aliasing -pipe -I/usr/local/include'
>   ccversion='', gccversion='4.7.2', gccosandvers=''
>   intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>   d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>   ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>   alignbytes=8, prototype=define
> Linker and Libraries:
>   ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
>   libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib
> /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
>   libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
>   perllibs=-ldl -lm -lpthread -lc -lcrypt
>   libc=, so=so, useshrplib=true, libperl=libperl.so.5.14.2
>   gnulibc_version='2.15'
> Dynamic Linking:
>   dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
>   cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-
> protector'
> 
> Locally applied patches:
> 
> 
> ---
> @INC for perl 5.14.2:
>     /etc/perl
>     /usr/local/lib/perl/5.14.2
>     /usr/local/share/perl/5.14.2
>     /usr/lib/perl5
>     /usr/share/perl5
>     /usr/lib/perl/5.14
>     /usr/share/perl/5.14
>     /usr/local/lib/site_perl
>     .
> 
> ---
> Environment for perl 5.14.2:
>     HOME=/home/brian
>     LANG=en_US.UTF-8
>     LANGUAGE (unset)
>     LD_LIBRARY_PATH (unset)
>     LOGDIR (unset)
>     PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
>     PERL_BADLANG (unset)
>     SHELL=/bin/bash




---
via perlbug:  queue: perl5 status: new
https://rt.perl.org/Ticket/Display.html?id=117365



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About