Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use lualatex for better unicode support #36861

Merged
merged 40 commits into from
Dec 26, 2023

Conversation

kwankyu
Copy link
Collaborator

@kwankyu kwankyu commented Dec 11, 2023

to support #36857.

There have been numerous problems due to limited support of unicode in pdflatex. I see no reason why we should not switch to modern tex engine lualatex, as suggested in

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-latex_engine

We set lualatex as the default engine for

  • building the sage documentation, in sage_docbuild/
  • rendering pdf images, in src/sage/misc/latex.py

In src/sage/misc/latex.py, the default engine is determined by availability of the engines with the order of preference: lualatex, xelatex, pdflatex.

Along the way, we

We add optional (dummy) packages texlive_luatex, free_fonts, xindy as new dependencies of sagemath_doc_pdf in addition to texlive optional package. It seems that depending on the version and the platform, texlive may already include the new dependencies. If not, you need to install the new dependencies (as _recommended by the dummy package)

On Ubuntu, the requirement is fulfilled by

sudo apt install texlive texlive-luatex fonts-freefont-otf xindy

The built pdf doc is available here: https://deploy-livedoc--sagemath.netlify.app

To test view via lualatex, for example,

latex.extra_preamble(r"\usepackage{fontspec}\setmainfont{Arial}\setmonofont{Arial}")
view('Εύρηκα')

you should build sage on your local platform with this PR. You may need to install texlive-full before testing. It seems that texlive (2019) is not enough even for the view via pdftex.

sage-devel thread seeking Unicode testers: https://groups.google.com/g/sage-devel/c/tG2LK6Jvw0I

Resolves #18370

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@dimpase
Copy link
Member

dimpase commented Dec 11, 2023

AFAIK, the official successor of pfd(la)tex is lua(la)tex, not xe(la)tex. See e.g. https://tex.stackexchange.com/questions/126206/why-choose-lualatex-over-xelatex and https://en.wikipedia.org/wiki/LuaTeX

It appears that xetex is not developed further since 2019 or so.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 11, 2023

AFAIK, the official successor of pfd(la)tex is lua(la)tex, not xe(la)tex. See e.g. https://tex.stackexchange.com/questions/126206/why-choose-lualatex-over-xelatex and https://en.wikipedia.org/wiki/LuaTeX

There's no "official" successor.

It appears that xetex is not developed further since 2019 or so.

Like TeX itself, it is not a flaw that xetex is not further developed. It is a great flaw if it was not maintained. I have (and had) no problem at all with xelatex in typesetting my scripts in English and Korean with little bits of Chinese and Greek. I'd say xetex is just stable.

I have zero experience with LuaTeX. I know it is famous because of its scripting capability with Lua language. Do we need the capability?

I just hope that with minimal efforts (on my side), xelatex solves the problems we now face.

If you want to solve more problems with more capable luatex, I welcome you opening a PR as a sequel. Then this PR will serve as a stepping stone.

@dimpase
Copy link
Member

dimpase commented Dec 11, 2023

luatex is at least the official successor of pdftex in TexLive: https://en.wikipedia.org/wiki/LuaTeX

I use lualatex, it's quite nice, and its unicode support is better in some ways. Also,
xetex is known not to work very well with TikZ and in bidirectional typesetting.

Why do we need two PRs, and why choose an older project which is being phased out in favour of a newer one?
If we get stuck in xetext on our unicode or TikZ issues, it's likely that any help we'd get will tell us to switch to luatex.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 11, 2023

I use lualatex, it's quite nice, and its unicode support is better in some ways. Also, xetex is known not to work very well with TikZ and in bidirectional typesetting.

OK. Good.

Why do we need two PRs, and why choose an older project which is being phased out in favour of a newer one?

Then would you open a PR and work on it? I will happily close this PR then.

(because I do not want to spend time in switching from xelatex to luatex now)

@dimpase
Copy link
Member

dimpase commented Dec 11, 2023

OK, let me try lualatex - it it's a bit more work, as Sage does know about xelatex, but does not know about lualatex.
If it does, we can re-purpose this PR.

@dimpase
Copy link
Member

dimpase commented Dec 11, 2023

by the way, I tested this PR, and saw problems with Japanese and Cyrillic. So it's one way or another, more work needed, it seems.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 11, 2023

by the way, I tested this PR, and saw problems with Japanese and Cyrillic. So it's one way or another, more work needed, it seems.

Thanks. This PR is in testing phase (not ready for review yet). I will work on the problems.

You may want to prepare your luatex PR as a sequel to this PR, to not duplicate efforts.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 11, 2023

by the way, I tested this PR, and saw problems with Japanese and Cyrillic.

I don't recognize any problem from the built pdf docs. What problems did you see? Are they new?

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 11, 2023

Ah sorry, my pdf docs were built by pdflatex, somehow...

@kwankyu kwankyu changed the title Use XeLaTeX by default Use xelatex for better unicode support in building sage docs Dec 12, 2023
@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

OK, let me try lualatex - it it's a bit more work, as Sage does know about xelatex, but does not know about lualatex. If it does, we can re-purpose this PR.

I added support of lualatex in

8a966dd

while setting xelatex as the default engine for rendering pdfs, in src/sage/misc/latex.py.

If this setup works out well, then later, in your PR, you may replace xelatex with lualatex in the places setting the default engine.

@dimpase
Copy link
Member

dimpase commented Dec 12, 2023 via email

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

one needs to change build/pkgs/texlive/spkg-configure.m4 too. The list of LaTeX packages, e.g. unicode-math is most probably a good idea,

That may be a useful addition, though it is not required.

and the programs (No need for dvi* things any more) required there should be adjusted.

We support [pdf|xe|lua]latex in addition to latex. dvi* things are still necessary for latex. Anyway, that is a separate concern.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

From Sphinx doc,

 * LaTeX builder with :confval:`latex_engine` set to ``'xelatex'`` or to 
   ``'lualatex'`` requires (by default) the ``FreeFont`` fonts, 
   which in Ubuntu xenial are provided by package ``fonts-freefont-otf``, and 
   e.g. in Fedora 29 via package ``texlive-gnu-freefont``. 

How should we proceed? Perhaps fonts-freefont-otf should be included to _recommended?

We need a dummy package created from

https://repology.org/project/fonts:gnu-freefont/versions

@mkoeppe any tip?

@dimpase
Copy link
Member

dimpase commented Dec 12, 2023

We support [pdf|xe|lua]latex in addition to latex. dvi* things are still necessary for latex

Why do we need to support pdflatex once we switch ?
There is no reason for this.
pdflatex precludes using unicode in maths mode. With [xe|lua]latex one can write unicode maths without the endless \declareUnicodeCharacter macros. Surely we can dump a large number (1000s of lines) of these in the source, setup various \ifxetexs etc, but why?

I discussed pdftex/xetex/luatex compatibility with David Carlisle here: https://tex.stackexchange.com/questions/601579/unicode-maths-in-pdflatex - you can see various details there

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

We support [pdf|xe|lua]latex in addition to latex. dvi* things are still necessary for latex

Why do we need to support pdflatex once we switch ? There is no reason for this.

src/sage/misc/latex.py has supported latex, pdflatex, xelatex up to now. And we are adding luatex. It is the user's choice which engine is used. We may change the default engine. But why do we suddenly stop support for a tex engine for no benefit?

@dimpase
Copy link
Member

dimpase commented Dec 12, 2023

src/sage/misc/latex.py has supported latex, pdflatex, xelatex up to now. And we are adding luatex. It is the user's choice which engine is used. We may change the default engine. But why do we suddenly stop support for a tex engine for no benefit?

The benefit of not using latex/pdflatex is that you can use unicode freely, without worrying about missing \DeclareUnicodeCharacter. Currently we use this macro 162 times, but we could go to 0 is we stop (pdf)latex support.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

By the way, "unicode in maths mode" is not in the scope of this PR.

@dimpase
Copy link
Member

dimpase commented Dec 12, 2023

By the way, "unicode in maths mode" is not in the scope of this PR.

it is very much in the scope, as using xelatex will easily break compatibility with (pdf)latex. To ensure the compatibility is not broken, you'd need to test the non-default (pdf)latex settings.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 12, 2023

src/sage/misc/latex.py has supported latex, pdflatex, xelatex up to now. And we are adding luatex. It is the user's choice which engine is used. We may change the default engine. But why do we suddenly stop support for a tex engine for no benefit?

The benefit of not using latex/pdflatex is that you can use unicode freely, without worrying about missing \declareUnicodeCharacter.

If a user chooses latex/pdflatex, he simply has chosen to not use unicode freely. We don't have to support him as much as xelatex/lualatex users regarding unicode. Don't worry about missing \declareUnicodeCharacter for him. But we should not remove a feature what he already is using.

@dimpase
Copy link
Member

dimpase commented Dec 12, 2023

src/sage/misc/latex.py has supported latex, pdflatex, xelatex up to now. And we are adding luatex. It is the user's choice which engine is used. We may change the default engine. But why do we suddenly stop support for a tex engine for no benefit?

The benefit of not using latex/pdflatex is that you can use unicode freely, without worrying about missing \declareUnicodeCharacter.

If a user chooses latex/pdflatex, he simply has chosen to not use unicode freely. We don't have to support him as much as xelatex/lualatex users regarding unicode.

So I submit a PR with unicode math, and it passes the default (say, xelatex) pdf docs builder. Not testing the PR with non-default builder means that our docs might be broken in sense they can't be built with (pdf)latex any more.
The latter is not what I'd call "supporting (pdf)latex" - it's akin to saying we support Python 2 (just not test with it ;-))

@dimpase
Copy link
Member

dimpase commented Dec 22, 2023

make does not build pdf docs. Is xindy needed for html too?

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 22, 2023

OK thanks for telling me on the ticket, but can this perhaps be added to the installation manual?

In addition, I may write some guide later in the release tour. Would that be enough?

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 22, 2023

make does not build pdf docs. Is xindy needed for html too?

No.

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

to support sagemath#36857.

There have been numerous problems due to limited support of unicode in
pdflatex. I see no reason why we should not switch to modern tex engine
lualatex, as suggested in

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-
latex_engine

We set lualatex as the default engine for
- building the sage documentation, in `sage_docbuild/`
- rendering pdf images, in `src/sage/misc/latex.py`

In  `src/sage/misc/latex.py`, the default engine is determined by
availability of the engines  with the order of preference: lualatex,
xelatex, pdflatex.

Along the way, we
- remove latex-related code deprecated in sagemath#32650.
- make lots of cosmetic edits in `src/sage/misc/latex.py`
- add support "lualatex" as an alternative to "[pdf|xe]latex" in
`src/sage/misc/latex.py`

We add optional (dummy) packages `texlive_luatex`, `free_fonts`, `xindy`
as new dependencies of `sagemath_doc_pdf` in addition to `texlive`
optional package. It seems that depending on the version and the
platform, `texlive` may already include the new dependencies. If not,
you need to install the new dependencies (as `_recommended` by the dummy
package)

On Ubuntu, the requirement is fulfilled by
```
sudo apt install texlive texlive-luatex fonts-freefont-otf xindy
```

The built pdf doc is available here: https://deploy-livedoc--
sagemath.netlify.app

To test `view` via lualatex, for example,
```
latex.extra_preamble(r"\usepackage{fontspec}\setmainfont{Arial}\setmonof
ont{Arial}")
view('Εύρηκα')
```
you should build sage on your local platform with this PR. You may need
to install `texlive-full` before testing. It seems that `texlive` (2019)
is not enough even for the `view` via pdftex.

sage-devel thread seeking Unicode testers:
https://groups.google.com/g/sage-devel/c/tG2LK6Jvw0I


<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36861
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik, Kwankyu Lee, Matthias Köppe
@kiwifb
Copy link
Member

kiwifb commented Dec 23, 2023

I am currently getting one error in building the pdf doc with this

$ tail -20 /home/portage/sci-mathematics/sage-doc-9999/work/build_doc/latex/en/reference/coding/coding.log

LaTeX Warning: Hyper reference `sage/coding/decoder:sage.coding.decoder.Decoder
.decode_to_code' on page 28 undefined on input line 2667.


Overfull \hbox (11.0582pt too wide) in paragraph at lines 2666--2669
[]\TU/FreeSerif(0)/m/n/10 This is a de-fault im-ple-mentmen-ta-tion, which as-su
mes that the method \TU/FreeMono(0)/m/it/10 de-code_to_code() \TU/FreeSerif(0)/
m/n/10 has been im-ple-mented,
 []


LaTeX Warning: Hyper reference `sage/coding/decoder:sage.coding.decoder.Decoder
.message_space' on page 28 undefined on input line 2684.

[28]
! error:  (nodes): fuzzy token cleanup in whatsit node with type whatsit and sub
type 28
!  ==> Fatal error occurred, no output PDF file produced!

Am I missing some package?

@dimpase
Copy link
Member

dimpase commented Dec 23, 2023

is it with lualatex ?

@kiwifb
Copy link
Member

kiwifb commented Dec 23, 2023

Most definitely lualatex.

@dimpase
Copy link
Member

dimpase commented Dec 23, 2023

do you see this warning in CI logs too? I.e., is the error consequence of the warning?

might potentially be some locale nonsense...

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

to support sagemath#36857.

There have been numerous problems due to limited support of unicode in
pdflatex. I see no reason why we should not switch to modern tex engine
lualatex, as suggested in

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-
latex_engine

We set lualatex as the default engine for
- building the sage documentation, in `sage_docbuild/`
- rendering pdf images, in `src/sage/misc/latex.py`

In  `src/sage/misc/latex.py`, the default engine is determined by
availability of the engines  with the order of preference: lualatex,
xelatex, pdflatex.

Along the way, we
- remove latex-related code deprecated in sagemath#32650.
- make lots of cosmetic edits in `src/sage/misc/latex.py`
- add support "lualatex" as an alternative to "[pdf|xe]latex" in
`src/sage/misc/latex.py`

We add optional (dummy) packages `texlive_luatex`, `free_fonts`, `xindy`
as new dependencies of `sagemath_doc_pdf` in addition to `texlive`
optional package. It seems that depending on the version and the
platform, `texlive` may already include the new dependencies. If not,
you need to install the new dependencies (as `_recommended` by the dummy
package)

On Ubuntu, the requirement is fulfilled by
```
sudo apt install texlive texlive-luatex fonts-freefont-otf xindy
```

The built pdf doc is available here: https://deploy-livedoc--
sagemath.netlify.app

To test `view` via lualatex, for example,
```
latex.extra_preamble(r"\usepackage{fontspec}\setmainfont{Arial}\setmonof
ont{Arial}")
view('Εύρηκα')
```
you should build sage on your local platform with this PR. You may need
to install `texlive-full` before testing. It seems that `texlive` (2019)
is not enough even for the `view` via pdftex.

sage-devel thread seeking Unicode testers:
https://groups.google.com/g/sage-devel/c/tG2LK6Jvw0I


<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
Resolves sagemath#18370
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36861
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik, Kwankyu Lee, Matthias Köppe
@kiwifb
Copy link
Member

kiwifb commented Dec 23, 2023

I see some of the warnings in the CI, with slightly different line number. Although I do not see the Overfull bit in that location, could be A4 vs Letter for that one. I should dig my log to see if there is some more meaningful clues earlier. Locale non-sense could be a possibility, but I am thinking a missing font or texlive module that is not obvious.

@dimpase
Copy link
Member

dimpase commented Dec 23, 2023

maybe you can post various .log files?

@kiwifb
Copy link
Member

kiwifb commented Dec 23, 2023

A bit of the folder where things fails. Includes the full coding.log and also coding.tex for those who want to inspect it.
http://202.36.178.9/sage/coding.tar.xz

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 23, 2023 via email

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

to support sagemath#36857.

There have been numerous problems due to limited support of unicode in
pdflatex. I see no reason why we should not switch to modern tex engine
lualatex, as suggested in

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-
latex_engine

We set lualatex as the default engine for
- building the sage documentation, in `sage_docbuild/`
- rendering pdf images, in `src/sage/misc/latex.py`

In  `src/sage/misc/latex.py`, the default engine is determined by
availability of the engines  with the order of preference: lualatex,
xelatex, pdflatex.

Along the way, we
- remove latex-related code deprecated in sagemath#32650.
- make lots of cosmetic edits in `src/sage/misc/latex.py`
- add support "lualatex" as an alternative to "[pdf|xe]latex" in
`src/sage/misc/latex.py`

We add optional (dummy) packages `texlive_luatex`, `free_fonts`, `xindy`
as new dependencies of `sagemath_doc_pdf` in addition to `texlive`
optional package. It seems that depending on the version and the
platform, `texlive` may already include the new dependencies. If not,
you need to install the new dependencies (as `_recommended` by the dummy
package)

On Ubuntu, the requirement is fulfilled by
```
sudo apt install texlive texlive-luatex fonts-freefont-otf xindy
```

The built pdf doc is available here: https://deploy-livedoc--
sagemath.netlify.app

To test `view` via lualatex, for example,
```
latex.extra_preamble(r"\usepackage{fontspec}\setmainfont{Arial}\setmonof
ont{Arial}")
view('Εύρηκα')
```
you should build sage on your local platform with this PR. You may need
to install `texlive-full` before testing. It seems that `texlive` (2019)
is not enough even for the `view` via pdftex.

sage-devel thread seeking Unicode testers:
https://groups.google.com/g/sage-devel/c/tG2LK6Jvw0I


<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
Resolves sagemath#18370
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36861
Reported by: Kwankyu Lee
Reviewer(s): Dima Pasechnik, Kwankyu Lee, Matthias Köppe
@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 25, 2023

I am currently getting one error in building the pdf doc with this

$ tail -20 /home/portage/sci-mathematics/sage-doc-9999/work/build_doc/latex/en/reference/coding/coding.log

LaTeX Warning: Hyper reference `sage/coding/decoder:sage.coding.decoder.Decoder
.decode_to_code' on page 28 undefined on input line 2667.


Overfull \hbox (11.0582pt too wide) in paragraph at lines 2666--2669
[]\TU/FreeSerif(0)/m/n/10 This is a de-fault im-ple-mentmen-ta-tion, which as-su
mes that the method \TU/FreeMono(0)/m/it/10 de-code_to_code() \TU/FreeSerif(0)/
m/n/10 has been im-ple-mented,
 []


LaTeX Warning: Hyper reference `sage/coding/decoder:sage.coding.decoder.Decoder
.message_space' on page 28 undefined on input line 2684.

[28]
! error:  (nodes): fuzzy token cleanup in whatsit node with type whatsit and sub
type 28
!  ==> Fatal error occurred, no output PDF file produced!

Am I missing some package?

I don't know. I don't see any hint from your logs about what went wrong. If you still have it, I would just recommend to upgrade your texlive or reinstall gnu free fonts and wish a good luck.

@kiwifb
Copy link
Member

kiwifb commented Dec 26, 2023

Yes, in the end, texlive from the gentoo main tree proved too old. Moving to texlive 2023 fixed the issue.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 26, 2023

Good to hear that. texlive 2023 seems to also include xindy while texlive 2019 does not. If we could recommend texlive 2023 instead of just any texlive, then we can get rid of xindy from the list of recommended packages! It seems that the free fonts pack is in the same situation...

@kiwifb
Copy link
Member

kiwifb commented Dec 26, 2023

I was on texlive 2021 for info.

@vbraun vbraun merged commit 8702356 into sagemath:develop Dec 26, 2023
30 of 53 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Dec 26, 2023
@chriswuthrich
Copy link
Contributor

Now that I see this, out of curiosity, doesn't this slow down all LaTeX compilations a lot? LuLaTeX is much slower than pdflatex.

@kwankyu
Copy link
Collaborator Author

kwankyu commented Dec 27, 2023

@kwankyu kwankyu deleted the p/use-xelatex-by-default branch December 27, 2023 11:39
@dimpase
Copy link
Member

dimpase commented Dec 27, 2023

lualatex, in its default configuration, is slower to start up. There are, however, various ways to speed it up.
E.g. there is a way to build a custom format, there is a Lua JIT option, there is luametatex (the current actively developed luatex branch).
Perhaps we can also use some Lua in Sage to speed typesetting things up (?).

All these need extra investigation. The big plus here is that we finally sorted our Unicode troubles.

vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 2, 2024
    
This is using unicode box-drawing characters to make better-looking
tables.

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.

### ⌛ Dependencies

- sagemath#36861

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
    
URL: sagemath#36857
Reported by: Frédéric Chapoton
Reviewer(s): Kwankyu Lee
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 5, 2024
    
This is using unicode box-drawing characters to make better-looking
tables.

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.

### ⌛ Dependencies

- sagemath#36861

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
    
URL: sagemath#36857
Reported by: Frédéric Chapoton
Reviewer(s): Kwankyu Lee
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 13, 2024
    
This is using unicode box-drawing characters to make better-looking
tables.

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.

### ⌛ Dependencies

- sagemath#36861

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
    
URL: sagemath#36857
Reported by: Frédéric Chapoton
Reviewer(s): Kwankyu Lee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unicode support in reference manual and other docs, e.g. developer manual
6 participants