Skip to content

Create PDF version for AbstractAlgebra#2307

Open
varuntrehan7 wants to merge 14 commits intoNemocas:masterfrom
varuntrehan7:vt/pdf-build-AA
Open

Create PDF version for AbstractAlgebra#2307
varuntrehan7 wants to merge 14 commits intoNemocas:masterfrom
varuntrehan7:vt/pdf-build-AA

Conversation

@varuntrehan7
Copy link
Contributor

@varuntrehan7 varuntrehan7 commented Jan 19, 2026

Continuing the job from oscar-system/Oscar.jl#5627.

@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.20%. Comparing base (1a7d93c) to head (7c0ea6d).
⚠️ Report is 115 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2307      +/-   ##
==========================================
+ Coverage   88.00%   88.20%   +0.19%     
==========================================
  Files         127      127              
  Lines       31803    32847    +1044     
==========================================
+ Hits        27989    28973     +984     
- Misses       3814     3874      +60     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@varuntrehan7

This comment was marked as resolved.

@lgoettgens

This comment was marked as resolved.

@varuntrehan7

This comment was marked as resolved.

@lgoettgens

This comment was marked as resolved.

@fingolfin

This comment was marked as resolved.

@varuntrehan7
Copy link
Contributor Author

@varuntrehan7 instead of trying random things, I recommend you post the actual error you are seeing which stumps you!

So I dug through the logs from before you try to switch to tectonic (please revert that), and found this error:

Collected error summary (may duplicate other messages):
  lualatex: Command for 'lualatex' gave return code 1
      Refer to 'AbstractAlgebra.jl.log' and/or above output for details

Error: LaTeXWriter: failed to compile tex with latexmk. Logs and partial output can be found in ../../../../../tmp/jl_TkK37L
  exception = 
    failed process: Process(`latexmk -f -interaction=batchmode -halt-on-error -view=none -lualatex -shell-escape AbstractAlgebra.jl.tex`, ProcessExited(12)) [12]
    
ERROR: LoadError: Compiling the .tex file failed. See logs for more information.
Stacktrace:

So that's the same as we saw with Oscar: TeX runs into an error -- probbaly due to some LaTeX syntax error in one our .md files or docstrings.

To deal with this, you need to look into the actual log file; its location is given in the error message (here: ../../../../../tmp/jl_TkK37L). But of course you can't easily access it on the CI runner. So: you'll need to try building the documentation locally, and then look a the log file. It should give a clue what went wrong. If you can't figure it out, just attach the log file and we might be able to give some guidance.

okay got it, I was a bit stuck so was just trying things out( I will revert it ) and you are right I will post the error here if i cant resolve it, thanks!

@varuntrehan7
Copy link
Contributor Author

varuntrehan7 commented Jan 28, 2026

i tried to build it locally, heres the log error

- 1259:! Undefined control sequence.
File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10)
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexte
rnal.code.tex
File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10)
\pgfexternal@startupbox=\box76
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelaye
rs.code.tex
File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10)
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretran
sparency.code.tex
File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10)
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatt
erns.code.tex
File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10)
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.
code.tex
File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10)
)))
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/modules/pgfmoduleshape
s.code.tex
File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10)
\pgfnodeparttextbox=\box77
)
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.
code.tex
File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10)
)
(/usr/local/texlive/2025basic/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-ve
rsion-0-65.sty
Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10)
\pgf@nodesepstart=\dimen325
\pgf@nodesepend=\dimen326
)
(/usr/local/texlive/2025basic/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-ve
rsion-1-18.sty
Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10)
)) (/usr/local/texlive/2025basic/texmf-dist/tex/latex/pgf/utilities/pgffor.sty 
(/usr/local/texlive/2025basic/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/usr/l
ocal/texlive/2025basic/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex))
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/utilities/pgffor.code.
tex
Package: pgffor 2023-01-15 v3.1.10 (3.1.10)
\pgffor@iter=\dimen327
\pgffor@skip=\dimen328
\pgffor@stack=\toks49
\pgffor@toks=\toks50
))
(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tik
z.code.tex
Package: tikz 2023-01-15 v3.1.10 (3.1.10)

(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/libraries/pgflibrarypl
othandlers.code.tex
File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10)
\pgf@plot@mark@count=\count400
\pgfplotmarksize=\dimen329
)
\tikz@lastx=\dimen330
\tikz@lasty=\dimen331
\tikz@lastxsaved=\dimen332
\tikz@lastysaved=\dimen333
\tikz@lastmovetox=\dimen334
\tikz@lastmovetoy=\dimen335
\tikzleveldistance=\dimen336
\tikzsiblingdistance=\dimen337
\tikz@figbox=\box78
\tikz@figbox@bg=\box79
\tikz@tempbox=\box80
\tikz@tempbox@bg=\box81
\tikztreelevel=\count401
\tikznumberofchildren=\count402
\tikznumberofcurrentchild=\count403
\tikz@fig@count=\count404

(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/modules/pgfmodulematri
x.code.tex
File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10)
\pgfmatrixcurrentrow=\count405
\pgfmatrixcurrentcolumn=\count406
\pgf@matrix@numberofcolumns=\count407
)
\tikz@expandcount=\count408

(/usr/local/texlive/2025basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib
raries/tikzlibrarytopaths.code.tex
File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10)
))) (/usr/local/texlive/2025basic/texmf-dist/tex/latex/environ/environ.sty
Package: environ 2014/05/04 v0.3 A new way to define environments
(/usr/local/texlive/2025basic/texmf-dist/tex/latex/trimspaces/trimspaces.sty
Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list
))
\tcb@titlebox=\box82
\tcb@upperbox=\box83
\tcb@lowerbox=\box84
\tcb@phantombox=\box85
\c@tcbbreakpart=\count409
\c@tcblayer=\count410
\c@tcolorbox@number=\count411
\l__tcobox_tmpa_box=\box86
\l__tcobox_tmpa_dim=\dimen338
! Undefined control sequence.
l.76 \NewStructureName
                    {tcb/box}

Here is how much of LuaTeX's memory you used:
 31716 strings out of 475506
 125061,1373583 words of node,token memory allocated
 1082 words of node memory still in use:
   3 hlist, 1 rule, 1 dir, 3 kern, 1 glyph, 6 attribute, 183 glue_spec, 6 attrib
ute_list, 2 if_stack, 2 write, 1 pdf_colorstack nodes
   avail lists: 1:3,2:18,3:3,4:4,5:2,7:4,9:2,11:3
 54050 multiletter control sequences out of 65536+600000
 39 fonts using 31430695 bytes
 115i,1n,132p,521b,267s stack positions out of 10000i,1000n,20000p,200000b,200000s
!  ==> Fatal error occurred, no output PDF file produced!

@fingolfin
Copy link
Member

Is that the full .log file?

@varuntrehan7
Copy link
Contributor Author

AbstractAlgebra.jl.log
no, this is the whole file.

@varuntrehan7
Copy link
Contributor Author

varuntrehan7 commented Jan 30, 2026

I should add one clarification,

With the original configuration (i.e. without warnonly = true), makedocs aborts earlier due to missing docstrings in several @docs blocks, so the LaTeX stage is never reached and no log file is produced. for example these -

 ┌ Error: no docs found for 'Base.sqrt(::FracElem{T}) where {T <: RingElem}' in `@docs` block in docs/src/fraction.md:304-306
│ ```@docs
│ Base.sqrt(::FracElem{T}) where {T <: RingElem}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'Base.sqrt(::Generic.RationalFunctionFieldElem{T, U}) where {T <: FieldElem, U <: Union{PolyRingElem, MPolyRingElem}}' in `@docs` block in docs/src/function_field.md:165-167
│ ```@docs
│ Base.sqrt(::Generic.RationalFunctionFieldElem{T, U}) where {T <: FieldElem, U <: Union{PolyRingElem, MPolyRingElem}}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'gens(::Generic.Ideal{T}) where T <: RingElement' in `@docs` block in docs/src/ideal.md:87-89
│ ```@docs
│ gens(::Generic.Ideal{T}) where T <: RingElement
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'is_subset(::Generic.Ideal{T}, ::Generic.Ideal{T}) where T <: RingElement' in `@docs` block in docs/src/ideal.md:119-121
│ ```@docs
│ is_subset(::Generic.Ideal{T}, ::Generic.Ideal{T}) where T <: RingElement
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'transpose(::MatrixElem{T}) where T <: RingElement' in `@docs` block in docs/src/matrix.md:67-93
│ ```@docs
│ number_of_rows(::MatrixElem{T}) where T <: RingElement
│ number_of_columns(::MatrixElem{T}) where T <: RingElement
│ length(::MatrixElem{T}) where T <: RingElement
│ isempty(::MatrixElem{T}) where T <: RingElement
│ identity_matrix(::Ring, ::Int)
│ identity_matrix(::MatElem{T}) where T <: RingElement
│ ones_matrix(::Ring, ::Int, ::Int)
│ scalar_matrix(R::Ring, n::Int, a::RingElement)
│ diagonal_matrix(::RingElement, ::Int, ::Int)
│ zero(::MatElem{T}, ::Ring) where T <: RingElement
│ one(::MatElem{T}) where T <: RingElement
│ transpose(::MatrixElem{T}) where T <: RingElement
│ tr(::MatElem{T}) where T <: RingElement
│ det{T <: RingElem}(::MatElem{T})
│ rank{T <: RingElem}(::MatElem{T})
│ lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ is_lower_triangular(::MatrixElem)
│ is_upper_triangular(::MatrixElem)
│ is_diagonal(::MatrixElem)
│ change_base_ring(::Ring, ::MatElem{T}) where T <: RingElement
│ Base.map(f, ::MatrixElem{T}) where T <: RingElement
│ Base.map!(f, ::MatrixElem{S}, ::MatrixElem{T}) where {S <: RingElement, T <: RingElement}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'is_lower_triangular(::MatrixElem)' in `@docs` block in docs/src/matrix.md:67-93
│ ```@docs
│ number_of_rows(::MatrixElem{T}) where T <: RingElement
│ number_of_columns(::MatrixElem{T}) where T <: RingElement
│ length(::MatrixElem{T}) where T <: RingElement
│ isempty(::MatrixElem{T}) where T <: RingElement
│ identity_matrix(::Ring, ::Int)
│ identity_matrix(::MatElem{T}) where T <: RingElement
│ ones_matrix(::Ring, ::Int, ::Int)
│ scalar_matrix(R::Ring, n::Int, a::RingElement)
│ diagonal_matrix(::RingElement, ::Int, ::Int)
│ zero(::MatElem{T}, ::Ring) where T <: RingElement
│ one(::MatElem{T}) where T <: RingElement
│ transpose(::MatrixElem{T}) where T <: RingElement
│ tr(::MatElem{T}) where T <: RingElement
│ det{T <: RingElem}(::MatElem{T})
│ rank{T <: RingElem}(::MatElem{T})
│ lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ is_lower_triangular(::MatrixElem)
│ is_upper_triangular(::MatrixElem)
│ is_diagonal(::MatrixElem)
│ change_base_ring(::Ring, ::MatElem{T}) where T <: RingElement
│ Base.map(f, ::MatrixElem{T}) where T <: RingElement
│ Base.map!(f, ::MatrixElem{S}, ::MatrixElem{T}) where {S <: RingElement, T <: RingElement}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'is_upper_triangular(::MatrixElem)' in `@docs` block in docs/src/matrix.md:67-93
│ ```@docs
│ number_of_rows(::MatrixElem{T}) where T <: RingElement
│ number_of_columns(::MatrixElem{T}) where T <: RingElement
│ length(::MatrixElem{T}) where T <: RingElement
│ isempty(::MatrixElem{T}) where T <: RingElement
│ identity_matrix(::Ring, ::Int)
│ identity_matrix(::MatElem{T}) where T <: RingElement
│ ones_matrix(::Ring, ::Int, ::Int)
│ scalar_matrix(R::Ring, n::Int, a::RingElement)
│ diagonal_matrix(::RingElement, ::Int, ::Int)
│ zero(::MatElem{T}, ::Ring) where T <: RingElement
│ one(::MatElem{T}) where T <: RingElement
│ transpose(::MatrixElem{T}) where T <: RingElement
│ tr(::MatElem{T}) where T <: RingElement
│ det{T <: RingElem}(::MatElem{T})
│ rank{T <: RingElem}(::MatElem{T})
│ lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ is_lower_triangular(::MatrixElem)
│ is_upper_triangular(::MatrixElem)
│ is_diagonal(::MatrixElem)
│ change_base_ring(::Ring, ::MatElem{T}) where T <: RingElement
│ Base.map(f, ::MatrixElem{T}) where T <: RingElement
│ Base.map!(f, ::MatrixElem{S}, ::MatrixElem{T}) where {S <: RingElement, T <: RingElement}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'is_diagonal(::MatrixElem)' in `@docs` block in docs/src/matrix.md:67-93
│ ```@docs
│ number_of_rows(::MatrixElem{T}) where T <: RingElement
│ number_of_columns(::MatrixElem{T}) where T <: RingElement
│ length(::MatrixElem{T}) where T <: RingElement
│ isempty(::MatrixElem{T}) where T <: RingElement
│ identity_matrix(::Ring, ::Int)
│ identity_matrix(::MatElem{T}) where T <: RingElement
│ ones_matrix(::Ring, ::Int, ::Int)
│ scalar_matrix(R::Ring, n::Int, a::RingElement)
│ diagonal_matrix(::RingElement, ::Int, ::Int)
│ zero(::MatElem{T}, ::Ring) where T <: RingElement
│ one(::MatElem{T}) where T <: RingElement
│ transpose(::MatrixElem{T}) where T <: RingElement
│ tr(::MatElem{T}) where T <: RingElement
│ det{T <: RingElem}(::MatElem{T})
│ rank{T <: RingElem}(::MatElem{T})
│ lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_lower_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ strictly_upper_triangular_matrix(L::AbstractVector{T}) where {T <: RingElement}
│ is_lower_triangular(::MatrixElem)
│ is_upper_triangular(::MatrixElem)
│ is_diagonal(::MatrixElem)
│ change_base_ring(::Ring, ::MatElem{T}) where T <: RingElement
│ Base.map(f, ::MatrixElem{T}) where T <: RingElement
│ Base.map!(f, ::MatrixElem{S}, ::MatrixElem{T}) where {S <: RingElement, T <: RingElement}
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'is_skew_symmetric(::MatrixElem)' in `@docs` block in docs/src/matrix.md:463-467
│ ```@docs
│ is_symmetric(::MatrixElem)
│ 
│ is_skew_symmetric(::MatrixElem)
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'characteristic(::Generic.AbsMSeries)' in `@docs` block in docs/src/mseries.md:243-245
│ ```@docs
│ characteristic(::Generic.AbsMSeries)
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'evaluate(::NCPolyRingElem, ::Integer)' in `@docs` block in docs/src/ncpolynomial.md:353-356
│ ```@docs
│ evaluate{T <: NCRingElem}(::NCPolyRingElem{T}, ::T)
│ evaluate(::NCPolyRingElem, ::Integer)
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'polynomial_ring_only(R::Ring, s::Symbol; cached::Bool=true)' in `@docs` block in docs/src/poly_interface.md:148-150
│ ```@docs
│ polynomial_ring_only(R::Ring, s::Symbol; cached::Bool=true)
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'Base.sqrt(::PolyRingElem{T}; check::Bool) where T <: RingElement' in `@docs` block in docs/src/polynomial.md:677-679
│ ```@docs
│ Base.sqrt(::PolyRingElem{T}; check::Bool) where T <: RingElement
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'Base.sqrt(a::Generic.PuiseuxSeriesElem)' in `@docs` block in docs/src/puiseux.md:332-334
│ ```@docs
│ Base.sqrt(a::Generic.PuiseuxSeriesElem)
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'Base.sqrt{T <: Integer}(::ResFieldElem{T})' in `@docs` block in docs/src/residue.md:267-269
│ ```@docs
│ Base.sqrt{T <: Integer}(::ResFieldElem{T})
│ ```
└ @ Documenter ~/.julia/packages/Documenter/xvqbW/src/utilities/utilities.jl:47
┌ Error: no docs found for 'Base.sqrt(a::RelPowerSeriesRingElem)' in `@docs` block in docs/src/series.md:690-692
│ ```@docs
│ Base.sqrt(a::RelPowerSeriesRingElem)
│ ```

To be able to reach the LaTeX failure, I temporarily enabled warnonly = true locally only, which allowed Documenter to proceed far enough to generate the LaTeX output.

@fingolfin
Copy link
Member

I took the liberty of reformatting your comment using code block fences, i.e., triple backticks ``` to make them more readable -- please do that next time yourself (no big issue, just is helpful).

Those no docs found errors you are seeing are very suspicious. Do you also get them with master? How exactly are you running the tests locally?

@fingolfin
Copy link
Member

If I run this locally I get a quite different error in the log:

LaTeX Font Info:    Font shape `TU/DejaVuSans(0)/m/it' will be
(Font)              scaled to size 7.88116pt on input line 359.
[8]

! LaTeX Error: Unknown graphics extension: .svg.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.383 ...dth=\linewidth]{assets/parents_diagram.svg}

So yeah, that won't work. We'd need a PDF version of that SVG. But just to see what happens, I remove the two lines referencing SVGs in docs/src/visualizing_types.md.

With that hack, building the PDF succeeded

@fingolfin
Copy link
Member

I've merged PR #2324 to hopefully fix CI.

@fingolfin fingolfin closed this Feb 3, 2026
@fingolfin fingolfin reopened this Feb 3, 2026
@fingolfin fingolfin added doc This change adds or pertains to documentation release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes labels Feb 3, 2026
@varuntrehan7
Copy link
Contributor Author

I took the liberty of reformatting your comment using code block fences, i.e., triple backticks ``` to make them more readable -- please do that next time yourself (no big issue, just is helpful).

Those no docs found errors you are seeing are very suspicious. Do you also get them with master? How exactly are you running the tests locally?

oh thankyou i had no idea you can do that, i will do it next time and yes i am also getting them at master, i am running it locally using this - julia --project=docs -e 'include("docs/make.jl")'.

@fingolfin
Copy link
Member

The tests now run locally, if you still see problems locally then there is an issue with your setup.

You write that you are doing

julia --project=docs -e 'include("docs/make.jl")

That can work if the Manifest is up-to-date, and you have dev'ed AbstractAlgebra. What do you see when you do

julia --project=docs -e "using Pkg; Pkg.status()"

docs/make.jl Outdated
size_threshold_warn = 204800,
size_threshold = 409600,
),
Documenter.LaTeX(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a way to turn this off (or on): building the PDF is much slower than building HTML. So I want this off while I test the docs locally.

In Julia this is done in its doc/make.jl by checking:

# Check if we are building a PDF
const render_pdf = "pdf" in ARGS

and then use render_pdf to determine whether Documenter.LaTeX is included in the list of formats. Then you can run this to produce a PDF:

julia --project=docs docs/make.jl pdf

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While we are at it, it would also be nice if one could disable the doctests, e.g. by passing nodoctests or so, then it would set doctest=false

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay I got it, thanks!

@varuntrehan7
Copy link
Contributor Author

Please have a look at this @fingolfin , Also next should i do Nemo as we discussed before?

version: '1.10'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- name: Install TeX
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Install TeX
- name: Install TeX

@varuntrehan7 varuntrehan7 marked this pull request as ready for review February 21, 2026 01:15
@varuntrehan7 varuntrehan7 marked this pull request as draft February 21, 2026 01:15
varuntrehan7 and others added 2 commits February 21, 2026 06:46
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Max Horn <max@quendi.de>
@varuntrehan7 varuntrehan7 marked this pull request as ready for review February 21, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc This change adds or pertains to documentation release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants