something dumb on bibtex entry format,

Mike Marchywka marchywka at hotmail.com
Tue Jan 12 19:52:48 CET 2021


On Tue, Jan 12, 2021 at 04:13:51PM +0000, David Carlisle wrote:
>    \} is the latex syntax for \the character } so in fields taking tex streams you have a literal } character and a missing }
>    to match the {  at the beginning.
>    in fields taking numeric entries it's again a missing closing brace and then a spurious } in the date I would expect.
>    actually what happens is that bibtex takes this as a literal \ so the generated bbl file has
>    \newblock Boston, MA, USA, 2015-09-08 00:00:00 2015. John Wiley \& Sons, Ltd \.
>    but \. is the accent command  and the argument here is the \par from the following blank line so latex gives the error
>    ! Paragraph ended before \OT1\. was complete.
>    same with the month field teh \ is just passed to latex but here you get
>    \newblock Boston, MA, USA, 2015-09-08 00:00:00 \ 2015. John Wiley \& Sons, Ltd.
>    so you get the safe \   rather than \.{\par} just by accidental chance of this bib style.  If the bib style had put a full
>    stop rather than a space after the date you would have had the same error as before.
> 

Thanks, I was originally just trying to do syntax but apparently that is not possible without a format.
My syntax parser is just that and  I wanted a format-independent validation. However, your point
makes sense and now I just returned the rendered reference which really is what matters as long
as the format picks up the right fields. The rendered/pdftotext outputs appear identical with the
backslash or not in the month field,  


[1] J. C. Silva, I. M. Aroso, F. Mano, I. Sá-Nogueira, S. Barreiros, R. L. Reis,
A. Paiva, and A. R. C. Duarte. Therapeutic deep eutectic solvents as solubility enhancers fordifferent active pharmaceutical ingredients. Boston, MA,
USA, 2015-09-08 00:00:00 2015. John Wiley & Sons, Ltd.


[1] J. C. Silva, I. M. Aroso, F. Mano, I. Sá-Nogueira, S. Barreiros, R. L. Reis,
A. Paiva, and A. R. C. Duarte. Therapeutic deep eutectic solvents as solubility enhancers fordifferent active pharmaceutical ingredients. Boston, MA,
USA, 2015-09-08 00:00:00 2015. John Wiley & Sons, Ltd.

1

I guess I'll have to make a validation bst entry that picks up everything and makes errors
more apparent. 


echo val xxx  | ../a.outmjm_assemble_putative_bibtex.h615  MJM_ASSEMBLE_PUTATIVE_BIBTEX Jan 12 2021 13:34:29

../../mjm/hlib/mjm_pawnoff.h439 ONCE  fuxed m_today to exclude time wtf
../../mjm/hlib/mjm_instruments.h791  popping an old stream
mjm>val xxx
../../mjm/hlib/mjm_pawnoff.h347 ONCE  Fileio is not thread of process safe doh 
mjm_assemble_putative_bibtex.h290  cmd=cat checkbib_test_output.xxx | grep -i "output\|error\|warning" | sed -e 's/  */ /g' 
mjm_assemble_putative_bibtex.h292  c=0 StrTy(err)= StrTy(out)=No pages of output .
Warning - - empty booktitle in 18538
( There was 1 warning )
LaTeX Warning : Label ( s ) may have changed . Rerun to get cross - references right .
Output written on xxx . pdf ( 1 page , 28929 bytes ) .
 StrTy(data)=
mjm_assemble_putative_bibtex.h295  rcl=0 fnerr=checkbib_test_output.xxx
mjm_assemble_putative_bibtex.h299  StrTy(rendered)=References
[1] J. C. Silva, I. M. Aroso, F. Mano, I. Sá-Nogueira, S. Barreiros, R. L. Reis,
A. Paiva, and A. R. C. Duarte. Therapeutic deep eutectic solvents as solubility enhancers fordifferent active pharmaceutical ingredients. Boston, MA,
USA, 2015-09-08 00:00:00 2015. John Wiley & Sons, Ltd.

1



mjm_assemble_putative_bibtex.h648  m_n=0 m_errors=0 m_be.name()= m_be.type()= m_be.size()=0 m_be.errors()=0 m_latex_output=No pages of output .
Warning - - empty booktitle in 18538
( There was 1 warning )
LaTeX Warning : Label ( s ) may have changed . Rerun to get cross - references right .
Output written on xxx . pdf ( 1 page , 28929 bytes ) .

mjm>../../mjm/hlib/mjm_instruments.h340  readline returns null danger will robinson 01
marchywka at happy:/home/documents/cpp/proj/toobib/junk$ vi xxx
marchywka at happy:/home/documents/cpp/proj/toobib/junk$ echo val xxx  | ../a.outmjm_assemble_putative_bibtex.h615  MJM_ASSEMBLE_PUTATIVE_BIBTEX Jan 12 2021 13:34:29

../../mjm/hlib/mjm_pawnoff.h439 ONCE  fuxed m_today to exclude time wtf
../../mjm/hlib/mjm_instruments.h791  popping an old stream
mjm>val xxx
../../mjm/hlib/mjm_pawnoff.h347 ONCE  Fileio is not thread of process safe doh 
mjm_assemble_putative_bibtex.h290  cmd=cat checkbib_test_output.xxx | grep -i "output\|error\|warning" | sed -e 's/  */ /g' 
mjm_assemble_putative_bibtex.h292  c=0 StrTy(err)= StrTy(out)=No pages of output .
Warning - - empty booktitle in 18538
( There was 1 warning )
LaTeX Warning : Label ( s ) may have changed . Rerun to get cross - references right .
Output written on xxx . pdf ( 1 page , 28937 bytes ) .
 StrTy(data)=
mjm_assemble_putative_bibtex.h295  rcl=0 fnerr=checkbib_test_output.xxx
mjm_assemble_putative_bibtex.h299  StrTy(rendered)=References
[1] J. C. Silva, I. M. Aroso, F. Mano, I. Sá-Nogueira, S. Barreiros, R. L. Reis,
A. Paiva, and A. R. C. Duarte. Therapeutic deep eutectic solvents as solubility enhancers fordifferent active pharmaceutical ingredients. Boston, MA,
USA, 2015-09-08 00:00:00 2015. John Wiley & Sons, Ltd.

1



mjm_assemble_putative_bibtex.h648  m_n=0 m_errors=0 m_be.name()= m_be.type()= m_be.size()=0 m_be.errors()=0 m_latex_output=No pages of output .
Warning - - empty booktitle in 18538
( There was 1 warning )
LaTeX Warning : Label ( s ) may have changed . Rerun to get cross - references right .
Output written on xxx . pdf ( 1 page , 28937 bytes ) .

mjm>../../mjm/hlib/mjm_instruments.h340  readline returns null danger will robinson 01
marchywka at happy:/home/documents/cpp/proj/toobib/junk$ 



>    On Tue, 12 Jan 2021 at 15:59, Mike Marchywka <[mailto:marchywka at hotmail.com]marchywka at hotmail.com> wrote:
> 
>      I'm finally moving my bibtex scraping script to c++ and cleaning up a lot
>      of stuff. I validate a foreign or scraped bibtex entry using latex run on
>      a test document and my own parser. Its unlikely my parser conforms to
>      bibtex requirements exactly so I want to do both. I found what appears
>      to be an old test case and it still does not make sense. The question
>      seems to be about backslashes preceding a terminating right brace.
>      Sometimes they are ok, others not. The test files are xxx.tex and xxx.bib
>      as shown below.  If I put a backslash on the "month" line before the right brace
>      it seems to work ( originally there was an abstract entry with the problem but
>      I deleted it for space and clarity ),
>          month = {2015-09-08 00:00:00 \},
>      However, doing it on the publisher line fails,
>          publisher = {John Wiley \& Sons, Ltd \},
>       cat /tmp/xxx.tex
>      \documentclass{article}
>      \begin{document}
>      \nocite{*}
>      \bibliographystyle{plain}
>      \bibliography{xxx}
>      \end{document}
>      marchywka at happy:/home/documents/cpp/proj/toobib/junk$ cat /tmp/xxx.bib
>      % programmatically fixed probably bu toobib
>      % loaded from bbb written on 2019-11-02:17:33:45
>      %0 prior 0
>      @inproceedings{18538,
>          address = {Boston, MA, USA},
>          author = {Silva, J. C. and Aroso, I. M. and Mano, F. and S{\'a}-Nogueira, I. and Barreiros, S. and Reis, R. L. and
>      Paiva, A. and Duarte, A. R. C.},
>          doi = {10.1089/ten.tea.2015.5000.abstracts},
>          journal = {Tissue Engineering Part A},
>          keywords = {Drug delivery systems, green chemistry, Therapeutic deep eutectic solvents},
>          month = {2015-09-08 00:00:00 },
>          publisher = {John Wiley \& Sons, Ltd },
>          title = { Therapeutic deep eutectic solvents as solubility enhancers fordifferent active pharmaceutical
>      ingredients},
>          url =
>      {[http://online.liebertpub.com/doi/full/10.1089/ten.tea.2015.5000.abstracts]http://online.liebertpub.com/doi/full/10.108
>      9/ten.tea.2015.5000.abstracts},
>          year = {2015}
>      }
>      marchywka at happy:/home/documents/cpp/proj/toobib/junk$
>      I run 3 times, latex, bibtex, and latex again, then grep for error, output, and warning
>      giving the following lines in the two cases,
>      No pages of output .
>      Warning - - empty booktitle in 18538
>      ( There was 1 warning )
>      . / xxx . bbl : 9 : = = > Fatal error occurred , no output PDF file produced !
>      versus,
>      =No pages of output .
>      Warning - - empty booktitle in 18538
>      ( There was 1 warning )
>      LaTeX Warning : Label ( s ) may have changed . Rerun to get cross - references right .
>      Output written on xxx . pdf ( 1 page , 28937 bytes ) .
>      What is the backslash before the brace supposed to do or is there something silly I'm
>      missing? Thanks.
>      note new address
>       Mike Marchywka 306 Charles Cox Drive Canton, GA 30115
>       2295 Collinworth  Drive Marietta GA 30062.  formerly 487 Salem Woods Drive Marietta GA 30067 404-788-1216 (C)<- leave
>      message 989-348-4796 (P)<- emergency

-- 

mike marchywka
306 charles cox
canton GA 30115
USA, Earth 
marchywka at hotmail.com
404-788-1216
ORCID: 0000-0001-9237-455X


More information about the texhax mailing list.