pylatexenc
pylatexenc copied to clipboard
Fail to extract Title in common cases in both pylatexenc V2 and V3
For example, when title in .tex file have following format:
\title{FlexiTex: Enhancing Texture Generation with Visual Guidance}\title[DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills]{DeepMimic: Example-Guided Deep Reinforcement Learning\\ of Physics-Based Character Skills}
latex_to_text -> nodelist_to_text -> macro_node_to_text would fail to extract the text completely and return the empty string
Update:
I dig into the https://github.com/phfaist/pylatexenc/blob/main/pylatexenc/latex2text/_defaultspecs.py#L175
Turns out value is stored in LatexNodes2Text._doc_title variable
Right now, it can work for \title{FlexiTex: Enhancing Texture Generation with Visual Guidance}
But still fail on \title[DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills]{DeepMimic: Example-Guided Deep Reinforcement Learning\\ of Physics-Based Character Skills}, which will return '['
Yes, the latex-to-text module has an ugly kludge to output the title, author, and date together at the location of the \maketitle command. It involves setting an internal property on the LatexNodes2Text object instance. One day, I hope I'll be able to clean up this module and have something that's less messy. In the meantime, you can always override the MacroTextSpec's associated with \title, \author, and \date to produce the output you'd like.
I was not aware of \title taking an optional argument. Do you use a specific nonstandard LaTeX style? If you'd like to support an optional argument to the \title command, you'll need to override the macro definition in the context you give to the latex walker as well as to the latex-to-text object.