Comments (5)
@Eric-Mendes Thanks!
My first thought about the strategy is as follows:
- If the parser found that an identifier involves some prefix (in your case,
np
), the parser investigates whether the prefix is pointing to a module or not. - If it is a module, try to obtain the real name of the module (
np
->numpy
) - Checks if the real module name is listed in the pre-defined list (e.g.,
["math", "numpy", "tensorflow", "torch"]
), the parser replaces the original identifier by removing the prefix (np.inf
->inf
).
I think this should also work for the case you mentioned.
from latexify_py.
@Eric-Mendes Yeah feel free to try it. The task is to implement a new NodeTransformer class in src/latexify/transformers
that returns the modified AST. Other classes in the same directory may help to implement it.
from latexify_py.
Just tried it, @odashi 😄
I hope I'm on the right track.
from latexify_py.
Just found out about this lib and was playing around with it. The trimming on functions amazed me, but I noticed that package constants don't have the prefixes trimmed. Is this on purpose? Should I open an issue for it?
This is not a problem to my current work, but I thought it was a nice observation to make here.
from latexify_py.
It's been a while since my last compilers class in college, but can I try to work on this, @odashi?
from latexify_py.
Related Issues (20)
- Custom multiplication behavior (option to use \cdot everywhere) HOT 1
- Should `def(x): func(x)` generate `\func x` or `\func \mathopen{}\left( x \mathclose{}\right)`? HOT 2
- Fine-grained control over function name replacements
- Designing "plugin" interface HOT 3
- Use `latex.py` for to standardize codegen HOT 2
- Feedback From a User HOT 14
- Please add support for Python >3.11 HOT 2
- IPython extension to automatically use conversions on displayed objects HOT 1
- Better Identifier For Multi Index and RHS HOT 4
- Can you sub in values for show work? HOT 1
- Сonverting expressions or strings to latex format HOT 5
- Release New Version HOT 6
- Support for sqrt-like nth-roots when rendering x**(1/p)? HOT 2
- Support for log1p and expm1? HOT 4
- `if-elif` statements break if there's no `else` HOT 1
- Typo in \mathopen HOT 3
- Counterintuitive (wrong?) parenthesis when combining exp() and powers HOT 16
- Function docstring and reduce_assignments enabled does not play nice HOT 2
- Include .tex output examples in latexify_py/examples/examples.ipynb HOT 3
- math.pow not working properly on google colab HOT 2
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 latexify_py.