galgebra icon indicating copy to clipboard operation
galgebra copied to clipboard

Merge features from abrombo's branch

Open utensil opened this issue 4 years ago • 8 comments

This is currently tracked by https://github.com/pygae/galgebra/pull/62 and #39 .

Mirroring a slack discussion:

To name a few changes I noticed:

  1. The new printer (do you wish to stop supporting Python 2.7?)
  2. Odot (Have you noticed the discussion and my proposal of design which is less invasive?)
  3. xtex (Have you noticed the xpdf function I modified to support not running pdflatex only generating .tex?)
  4. convert strings to raw strings to avoid escaping (it’s preferable to be on a separate commit)
  5. replace operators like I < > in print manually with their LaTeX correspondence (do you wish to stop support the automatic replacement?)
  6. Lots of space or tab changes
  7. new examples/ipython/tutorial_algebra.ipynb
  8. new examples/ipython/tutorial_calculus.ipynb
  9. your new colllect adapter to solve the SymPy 1.4 compatibility issue
  10. LaTeX changes such as align* to aligned

Regressions I noticed:

  1. Installation instructions;
  2. files that should be ignored using .gitignore;
  3. you seem to be using an old version of Jupyter so some fields in .ipynb are obsolete
  4. setgapth.py is back, it’s already replaced by pip install
  5. tests are failing miserably
  6. Circular dependencies are back

@abrombo replied:

  1. I don't see any point in supporting 2.7 since sympy will not.
  2. Odot is on the back burner for now. Needs much more discussion before doing anything
  3. The default for xtex is what you have xpdf doing now.
  4. I try to always use r'\something' instead of '\something'.
  5. Please explain this better.
  6. Do you mean in the source code?
  7. & 8. I need to go through all the examples
  8. What is the question.
  9. Did I miss some?

Regressions

  1. My bad.
  2. Not familiar with .gitignore.
  3. Will update.
  4. Should not have included it. I use it so my changes to code locally (not in sitepackages) take effect for any executable code py or ipynb.
  5. How do you run tests. I will not push in future until code passes.
  6. My bad again.

utensil avatar Nov 29 '19 15:11 utensil

  1. The new printer (do you wish to stop supporting Python 2.7?)

➡️ Let's track this in #39 .


  1. Odot (Have you noticed the discussion and my proposal of design which is less invasive?)

➡️ Let's track this in #19


  1. xtex (Have you noticed the xpdf function I modified to support not running pdflatex only generating .tex?)

❓ Not sure what action needs taking here.


  1. convert strings to raw strings to avoid escaping

✔️ Partially addressed in #342, but we should use them throughout the printer. Let's track this in #399.


  1. replace operators like I < > in print manually with their LaTeX correspondence (do you wish to stop support the automatic replacement?)

➡️ Let's track this in #400


  1. Lots of space or tab changes

✔️ Flake8 CI will ensure that none of this actually makes it in


  1. new examples/ipython/tutorial_algebra.ipynb

✔️ Handled by #375


  1. new examples/ipython/tutorial_calculus.ipynb

❓ This example seems to depend on a lot of code that was never committed, such as an implementation of Pdop.__add__ or Dop.lop() and Dop.rop(), neither of which have ever existed.


  1. your new collect adapter to solve the SymPy 1.4 compatibility issue

✔️ Solved already, I forget where.


  1. LaTeX changes such as align* to aligned

✔️ For align specifically, fixed in #382

❓ What to do about extra preamble?

eric-wieser avatar May 22 '20 17:05 eric-wieser

@utensil, updated my comment above with a summary of every bullet point

eric-wieser avatar May 26 '20 12:05 eric-wieser

  1. your new collect adapter to solve the SymPy 1.4 compatibility issue

✔️ Solved already, I forget where.

Partially addressed by my #48 and fixed by your #344 , tracked by #31 and #49 .

utensil avatar May 27 '20 02:05 utensil

  1. xtex (Have you noticed the xpdf function I modified to support not running pdflatex only generating .tex?)

❓ Not sure what action needs taking here.

We could clean up the API of xpdf and introduce xtex as in this branch .

utensil avatar May 27 '20 02:05 utensil

❓ What to do about extra preamble?

What extra preamble?

utensil avatar May 27 '20 02:05 utensil

We could clean up the API of xpdf and introduce xtex as in this branch .

I don't feel any strong urge to do that before 0.5.0. Fine to bump to 0.6.0?

What extra preamble?

abrombo's branch contains a bunch of extra latex preamble which is printed at the start of a jupyter notebook by Format() so that it can be used in print() and in markdown cells.

eric-wieser avatar May 29 '20 13:05 eric-wieser

We could clean up the API of xpdf and introduce xtex as in this branch .

I don't feel any strong urge to do that before 0.5.0. Fine to bump to 0.6.0?

OK.

utensil avatar May 30 '20 04:05 utensil

What extra preamble?

abrombo's branch contains a bunch of extra latex preamble which is printed at the start of a jupyter notebook by Format() so that it can be used in print() and in markdown cells.

Oh, I see. I didn't like the approach very much since it introduced a dependency on the preamble and makes the printed MathJax no longer free-standing. On the other hand, I do appreciate the fact that it makes the printer LaTeX more succinct and thus I'm not against this change but wishes to be able to opt-out but that's only a nice-to-have enhancement.

utensil avatar May 30 '20 05:05 utensil