Comments (2)
Thanks, that's a good suggestion. I'll try to think about using math alphanumeric symbols in math expressions soon. (I'm a bit hesitant of adding functionality with options in the latex-to-text functions because I'm considering revamping some parts of latex2text
and any options I add now will have to be supported later, too.) In the meantime, you can use $\mathit{x}$
which is already supported. An alternative might be to keep math latex as-is, and then somehow plug in some external unicode math renderer, there might be some useful ones around.
from pylatexenc.
In the hope that it may be useful, here is a piece of code that I use to translate the macro \cal
to "MATHEMATICAL SCRIPT CAPITAL XXX".
def replace_macro_cal(node, l2tobj):
r"""Script letters.
\cal O → 𝒪
\cal a → 𝒶 (not implemented; NB: "MATHEMATICAL SCRIPT SMALL O" does not exist)
"""
letter = l2tobj.nodelist_to_text([node.nodeargd.argnlist[0]])
ucharname = letter.upper()
if ucharname != letter:
logging.error(r'Invalid character "\cal %s" at pos %s.',
ucharname, node.pos)
return "ERROR"
return unicodedata.lookup("MATHEMATICAL SCRIPT CAPITAL "+ucharname)
Of course this must be plugged into the LatexContextDb
for the text generation and the macro definition std_macro('cal', '{')
must be added to the context db of the parser.
from pylatexenc.
Related Issues (20)
- how to parse `\def\enorm#1{\|#1\|_2}` HOT 1
- how to parse `\lstinline|code|` HOT 1
- macroname='SS' incorrectly translated HOT 1
- parse issue with `\newcommand{\be}{\begin{equation}}` HOT 3
- adapt LatexWalker context while walking HOT 1
- Input and output differs when converting a nodelist back into latex HOT 1
- Incorrect (?) parsing of content in `lstlisting` environment HOT 3
- Deprecation warning upon installation via pip HOT 1
- Any ideas to skip specific element in LatexWalker? HOT 1
- pylatexenc import latexpp NCArgsParser doesn't work HOT 1
- Exception when parsing macro definitions with multiple arguments HOT 1
- IndexError: list index out of range HOT 2
- problem with ensuremath construct HOT 1
- Temporarily disable environment parsing HOT 2
- Error when command taking argument appears at the end of the input HOT 1
- publish wheel for v2.10 HOT 2
- Is there a way to automatically insert multiplication sign? HOT 1
- i-acute in context of BibTeX
- Best way to to go into LatexGroupNodes? HOT 1
- Simple latex HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylatexenc.