[petsc-dev] Manual figures are messed up
Barry Smith
bsmith at mcs.anl.gov
Thu Oct 8 13:39:23 CDT 2015
> On Oct 8, 2015, at 1:07 PM, Stefano Zampini <stefano.zampini at gmail.com> wrote:
>
> It works fine on my workstation with the current tex file.
>
> \begin{verbatim} is defined as a token at the beginning of the script. For the '}' match, maybe we can define a separate flag if begin{verbatim} is active and turn off the check on '}'.
Yes I think you need a different flag.
Cool, if you get it working working we can stick it in the repository.
Thanks
Barry
>
> Stefano
>
> Il 08/ott/2015 08:50 PM, "Barry Smith" <bsmith at mcs.anl.gov> ha scritto:
>
> I can't image this would work because \\begin{verbatim} is not a token. Plus if decrease for each } you will exit the verbatim "safe" zone as soon as you hit a }
>
> Barry
>
> > On Oct 8, 2015, at 9:54 AM, Stefano Zampini <stefano.zampini at gmail.com> wrote:
> >
> > What about the patch in attachment?
> >
> > 2015-10-08 1:54 GMT+03:00 Barry Smith <bsmith at mcs.anl.gov>:
> >
> > > On Sep 30, 2015, at 7:46 AM, Stefano Zampini <stefano.zampini at gmail.com> wrote:
> > >
> > > I just noticed that Figures 19 and 20 in the manual (current release and master) are messed up. The htmlmap process seems not to work properly.
> >
> > The tool /bin/maint/mapnameslatex.py is what looks through the tokens in the .tex files and replaces PETSc functions etc with an href. Unfortunately it is simple minded. It should turn off replacement when it detects a \begin{verbatim} and turn it back on when it hits the \end{verbatim} here is the entire engine
> >
> > while 1:
> > token = lex.token() # Get a token
> > if not token: break # No more tokens
> > if token.type == 'NEWLINE':
> > print text
> > text = ''
> > else:
> > # \href cannot be used in many places in Latex
> > if token.value in ['\\href{','\\findex{','\\sindex{','\\subsection{','\\chapter{','\\section{','\\caption{','\\trl{']:
> > bracket = bracket + 1;
> > if bracket == 0:
> > value = token.value
> > if mappedstring.has_key(value):
> > mvalue = mappedstring[value].replace('_','\\_')
> > value = '\\href{'+'http://www.mcs.anl.gov/petsc/petsc-'+version+'/docs/'+mappedlink[value]+'}{'+mvalue+'}\\findex{'+value+'}'
> > else:
> > value = token.value
> > if token.value[0] == '}' and bracket:
> > bracket = bracket - 1;
> > text = text+value
> >
> > You want to take a crack at fixing it? Because I don't really feel like it :-(
> >
> > Barry
> >
> >
> >
> > >
> > > --
> > > Stefano
> >
> >
> >
> >
> > --
> > Stefano
> > <patch_manual>
>
More information about the petsc-dev
mailing list