sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.38k stars 469 forks source link

Reorganize the documentation indexes into src/sage/combinat #16256

Closed nthiery closed 9 years ago

nthiery commented 10 years ago

Goal: reorganize the documentation indexes into src/sage/combinat

This is a follow up to #16058.

End result browsable at ​http://sage.math.washington.edu/home/nthiery/sage/src/doc/output/html/en/reference/combinat/index.html

Warning: see the note below about the current doc compilation glitch.

Discussion

One might argue that this reorganization of the documentation is not consistent with what's done elsewhere in the manual. Indeed. I believe sage.combinat is a good spot to explore better ways to organize the documentation. Here are the advantages of this new organization:

TODO

Depends on #16058 Depends on #17189

CC: @sagetrac-sage-combinat @nathanncohen @tscrim @anneschilling @videlec

Component: documentation

Keywords: thematic index, quickref

Author: Nicolas M. Thiéry, Jean-Pierre Flori

Branch: 823c116

Reviewer: Anne Schilling, Nathann Cohen

Issue created by migration from https://trac.sagemath.org/ticket/16256

nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -1,16 +1,16 @@
 Reorganize the documentation indexes into src/sage/combinat:

 - For example, the thematic index
-  src/doc/en/reference/combinat/crystals.rst is now in:
-  src/sage/combinat/crystals/__init__.py and is accessible through
-  sage.combinat.crystals?
+  `src/doc/en/reference/combinat/crystals.rst` is now in:
+  `src/sage/combinat/crystals/__init__.py` and is accessible through
+  `sage.combinat.crystals`?

   (potential variant: put it in all.py)

-- What's left in doc/en/reference/combinat can potentially be generated automatically.
+- What's left in `doc/en/reference/combinat` can potentially be generated automatically.
   This is not yet automatized; the content of module_list.rst still needs to be updated by hand; see the instructions on top of the file.

-- All p/cython files in sage/combinat/ are now included in the reference manual
+- All p/cython files in `src/sage/combinat/` are now included in the reference manual

 - Improved thematic indexes
6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago

Commit: 391f7ff

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago

Branch: u/nthiery/16058-combinat-doc-index

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago

New commits:

8b8aea8trac #16058: Organize the index of combinatorial modules
e0d2b66trac #16058: Two new categories
0293c49trac #16058: Another group
82af706Merge branch 't/16100/keep_going_in_doc_errors' into t/16058/public/16058
28062edExperiment with moving the indexes around and toward the source tree
63b43d4Merge 6.2.beta8 into t/16058/public/16058
499aae1Trac 16058: change the label in the sphinx-autodoc files for .__init__.py to
6755031Trac 16058: Reorganize the documentation indexes into src/sage/combinat
3b84036Trac 16058: Reorganize the documentation indexes into src/sage/combinat (follow up little fixes)
391f7ffMerge branch 'develop' into t/16058/public/16058
6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:3

(btw : you can check that the links are functional with the -k --warn-links options : sage -docbuild reference/combinat -k --warn-links html)

nthiery commented 10 years ago

Changed branch from u/nthiery/16058-combinat-doc-index to none

nthiery commented 10 years ago

Changed commit from 391f7ff to none

nthiery commented 10 years ago
comment:4

Replying to @nathanncohen:

1) I have no idea how I can obtain the result from your web page with the branch you give.

Nothing special: checkout the branch and run make doc as usual.

By the way, it does not apply on the latest rc0.

I merged the trivial conflict.

2) Look at that : http://sage.math.washington.edu/home/nthiery/16058-doc/combinat/sage/combinat/counting.html#sage-combinat-counting Or that : http://sage.math.washington.edu/home/nthiery/16058-doc/combinat/sage/combinat/species/__init__.html#sage-combinat-species

All links are broken!

Thanks for spotting this. I had fumbled my query replace. It should be fixed now. Well, I am recompiling Sage right now. I'll push / update the web page shortly.

That's a problem for a reference manual ...

No, really? Never thought about that :-)

3) Where are the combinatorial designs ?

Ah, yes, it somehow slipped out of the main index. Fixed. Thanks.

4) Those TODO will have to be removed before it is merged anywhere. Nicolas, it looks like your branch is not ready.

Of course.

Could you review this ticket and create another one for yours?

Will do / done.

You would also need to ask the release manager what he thinks of the script you have to run before generating the doc.

There is no such script to be run.

At this point, when there is a new module to be added, you can edit by hand module_list.rst (as we used to do in index.rst). Or just be lazy, and use the shell commands listed there. The point is that this step can be automatized and is meant to be so.

Perhaps there is a pure-sphinx workaround ? I guess you asked Florent about this too ?

Yes, the plan is certainly to have module_list.rst be built automatically by sphinx. Something similar to the building of the other sphinx autogenerated files (in reference/combinat/sage/combinat/*).

Right now I have no idea how it works. If you create another ticket, please explain that.

The only trick is in src/doc/en/reference/combinat/index.rst which uses automodule to slurp in the documentation of sage.combinat which itself is defined in sage/combinat/__init__.py

Other than that, this is just using standard ReST documentation.

nthiery commented 10 years ago
comment:5

WARNING: there will be some non trivial conflicts with the latest changes in #16058. The easiest for me to resolve them is to replay my changes on top of #16058 and create a new clean branch which I am going to work on now. The branch u/nthiery/16058-combinat-doc-index is just here for display; don't work on top of it!

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:6

?....

You can merge this branch with the head of the branch #16058, too... That only produces one additional commit and no history is rewritten.

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:7

Ah, yes, it somehow slipped out of the main index. Fixed. Thanks.

Can you be sure it is the only one ?

You would also need to ask the release manager what he thinks of the script you have to run before generating the doc.

There is no such script to be run.

What is the meaning of this ?

+.. NOTE::
+
+   This is built automatically by running in src/sage/combinat::
+
+        for x in **/*.py*; do echo "    sage/combinat/"`echo $x | sed 's/\.py.?$//'`; done >! /tmp/module_list

At this point, when there is a new module to be added, you can edit by hand module_list.rst (as we used to do in index.rst). Or just be lazy, and use the shell commands listed there. The point is that this step can be automatized and is meant to be so.

Okay, whatever. If the addition above is not about a script that has to be run before generating the doc, it has nothing to do there.

Yes, the plan is certainly to have module_list.rst be built automatically by sphinx. Something similar to the building of the other sphinx autogenerated files (in reference/combinat/sage/combinat/*).

What is the point of having an index like that instead of the human-made index page, i.e. the one that is being worked on on this ticket ?

Nathann

nthiery commented 10 years ago
comment:8

Replying to @nthiery:

I'll push / update the web page shortly.

Done. I pushed the branch too. Now working on making a clean branch.

nthiery commented 10 years ago
comment:9

Replying to @nathanncohen:

Can you be sure it's the only one?

I don't have a formal proof, no :-) We will have to double check this systematically. Like for any other reorganization.

Okay, whatever. If the addition above is not about a script that has to be run before generating the doc, it has nothing to do there.

This is documentation on how to update the module_list file; the top of this file is a natural spot for it. In any cases this is meant to be replaced by "automatically generated file; don't touch", so there is no point discussing it.

What is the point of having an index like that instead of the human-made index page, i.e. the one that is being worked on on this ticket ?

For the reader that's indeed essentially pointless: sphinx already provides an index of all documented modules. However sphinx currently needs to have somewhere a list of all the modules for which it's supposed to build the documentation, in the form of a toctree. Other than that, I'd be more than happy to simply get rid of it.

nthiery commented 10 years ago

Branch: u/nthiery/reorganize_the_documentation_indexes_into_src_sage_combinat

nthiery commented 10 years ago
comment:11

Pfiou, when sphinx goes into bad mode, this can be a pain to fix ... Oh well.

16256 is now "on top" of #16058. I ended up doing it via a merge (at the end, it was no simpler than the replay I was planning to do which would have produced a cleaner history). Anyway, it's done, and the merge was the occasion to double check that everything that was in the previous index.rst is still referenced somewhere.

At this point this branch is not really ready for review, but wide open for comments.

The produced documentation has been updated.

Switching now to the review of #16058.


Last 10 new commits:

63b43d4Merge 6.2.beta8 into t/16058/public/16058
499aae1Trac 16058: change the label in the sphinx-autodoc files for .__init__.py to
6755031Trac 16058: Reorganize the documentation indexes into src/sage/combinat
3b84036Trac 16058: Reorganize the documentation indexes into src/sage/combinat (follow up little fixes)
391f7ffMerge branch 'develop' into t/16058/public/16058
ff7add9Fixed cross references, add title to all.py files
a14057bSome more groupings and separated root system types into separate list.
4b5cb2btrac #16058: Rebase on 6.2.rc0
4644c74Trac 16256: Merge branch 'public/16058' into u/nthiery/16058-combinat-doc-index
d328407Trac 16256: fixed some cross references and doc compilation issues
nthiery commented 10 years ago

Commit: d328407

nthiery commented 10 years ago

Work Issues: gather comments by showing it around, and work on the listed TODO's

nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -43,7 +43,7 @@
   documents. This was not the case before: to split
   `sage/combinat/crystals` in its own document required to move the
   thematic index about crystals from `reference/combinat/` to
-  `reference/combinat/crystals`.
+  `reference/combinat/crystals`. This will ease the job of #14582.

 - It's more friendly to documentation lookup using introspection

@@ -79,3 +79,4 @@
   module_list.rst.

 This is a follow up to #16058.
+
jpflori commented 10 years ago
comment:16

Hey all,

What needs to be done here? Building the combinat doc is one of the bottleneck on my machines, so this ticket is highly wanted.

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:17

What needs to be done here? Building the combinat doc is one of the bottleneck on my machines, so this ticket is highly wanted.

If I understand correctly what this ticket is about, it rather goes against your goal, as it means to add more files to the documentation. But is it mostly about improving the doc to make it easier to read/browse through.

On the bright side, this ticket intends to do so many things requiring the input of so many persons that you can safely assume it will ... take time before anything is done :-P

On the other hand, beware if people start creating small tickets to address independently the points mentionned above, for that's how actual work begins :-P

Nathann

jpflori commented 10 years ago
comment:18

I thought this ticket also split the combinat doc into a bunch of subfolders, letting it be built in parallel. Am I wrong?

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:19

Yo !

I thought this ticket also split the combinat doc into a bunch of subfolders, letting it be built in parallel. Am I wrong?

Well, I understood that some new index.rst files would be created, but I have no idea if this means that they will correspond to different entry points for sphinx and thus that they will be built separately O_o

This being said, if there is a way to achieve that you should probably look into Nicolas's branch to see if it is implemented already, and in any case create a second ticket to address it. Otherwise it will be held forever by the other things enumerated above.

Nathann

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b3b708bMerge branch 't/16256/reorganize_the_documentation_indexes_into_src_sage_combinat' into combinat/reorganize_the_documentation_indexes_into_src_sage_combinat-16256
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Changed commit from d328407 to b3b708b

nthiery commented 10 years ago
comment:22

Hi Jean-Pierre,

Catching up with sage-trac e-mails ... sorry I had missed this one.

Replying to @jpflori:

What needs to be done here? Building the combinat doc is one of the bottleneck on my machines, so this ticket is highly wanted.

This ticket just reorganizes the documentation so that things get grouped nicely by sage module. But it should make it trivial to split the documentation on top of it in #14582.

Where you could help:

Cheers, Nicolas

nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -65,6 +65,8 @@

 TODO:

+- confirm that this is the right approach
+
 - proof reading

 - choosing the right entry points for each module
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

9d388dbMerge branch 'develop=6.4 beta2' into combinat/reorganize_the_documentation_indexes_into_src_sage_combinat-16256
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Changed commit from b3b708b to 9d388db

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

af1680b16256: Merge branch 'develop=6.4 beta2' into combinat/reorganize_the_documentation_indexes_into_src_sage_combinat-16256 (cont)
a23c12f16256: updated sage/combinat/module_list.rst
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Changed commit from 9d388db to a23c12f

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:25

Yo !

The link toward the result is not availble anymore, and I don't like what you are doing with combinat/designs.rst (i.e. removing the file). How will this page be replaced ?

Nathann

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:26

Oh. By the equivalent __init__.py. Nevermind :-P

Nathann

nthiery commented 10 years ago
comment:27

Replying to @nathanncohen:

If I understand correctly what this ticket is about, it rather goes against your goal, as it means to add more files to the documentation ...

Indeed, as a side effect, it adds a few files that were missing from the reference manual; but this should not make a real difference.

On the bright side, this ticket intends to do so many things requiring the input of so many persons that you can safely assume it will ... take time before anything is done :-P

Be my guest and show the example by doing your share :-)

The produced documentation for the sections about graphs and designs with this branched applied can be found respectively in:

The sources are in the corresponding __init__.py files:

(or just clone this branch as usual)

What's to be done about those sections:

Thanks in advance, Nicolas

nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -24,7 +24,7 @@

 - Added (draft of) sage.combinat.quickref

-End result browsable at ​http://sage.math.washington.edu/home/nthiery/16058-doc/combinat/index.html
+End result browsable at ​http://sage.math.washington.edu/home/nthiery/sage/src/doc/output/html/en/reference/combinat/index.html

 One might argue that this reorganization of the documentation is not
 consistent with what's done elsewhere in the manual. Indeed. I believe
nthiery commented 10 years ago
comment:29

Replying to @nathanncohen:

The link toward the result is not availble anymore

Race-condition: I was precisely rebuilding it :-) The new link should work.

nthiery commented 10 years ago
comment:30

Replying to @nathanncohen:

Oh. By the equivalent __init__.py. Nevermind :-P

Another race condition :-)

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:31

Yooooooooo !

On the bright side, this ticket intends to do so many things requiring the input of so many persons that you can safely assume it will ... take time before anything is done :-P

Be my guest and show the example by doing your share :-)

Ahahah. Big political tickets are not my style, sorry. I change the things I know, bit by bit :-P

The produced documentation for the sections about graphs and designs with this branched applied can be found respectively in:

Thanks ! Well, it looks cool, I mean... The design page looks exactly like it looks without your patch applied, so it's all good to me.

I am of course against having a "Graph" entry in combinat's doc. It just does not belong there, and it is not because combinat users may need other features of Sage that you should copy/paste their doc in your own document. If you can't be convinced otherwise, however, it would be better to redirect them toward the index of the graph help, i.e. this page :

http://www.sagemath.org/doc/reference/graphs/index.html

They would get what they asked for: the part of the doc dedicated to graphs.

  • Checking that it looks good from the user point of view

The main page looks okay. The entries in the main combinat page may be sorted (Algebraic Combinatorics appears toward the end of the list)

Given that you do not have so many entries in "Thematic indexes", you could merge it with Dynamical Systems and Miscellaneous too.

It would avoid having a Miscellaneous entry in the Miscellaneous section too.

On the other hand, as soon as you click on the entries of the main page things begin to get messy. You can reach Words by its entry on the main page, and through "Enumerated sets and combinatorial objects"

Many entries only display the name of a class rather than a full-text description, as the all files you add do not necessarily have a module doc. Sooo well. Maybe you should first add at least one doc line to the top of each file in combinat before anything else.

  • Choosing better entry points when appropriate (e.g. sometime it's more natural to point directly to a class than to the module defining it).
  • Checking that it looks natural from the dev point of view

It's better this way. The doc is closer to the code, that's nice.

Nathann

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Changed commit from a23c12f to eb78962

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

eb7896216256: reference graph theory, coding, and dynamics as 'related topics'; minor improvements
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Changed commit from eb78962 to 4ea19e8

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b872e5716256: use ~ when referencing classes and functions
4ea19e816256: added title to sage.combinat.perm_grps.permutation_groups_catalog
nthiery commented 10 years ago
comment:34

Hi Nathann,

Thanks for looking this up and your comments!

Replying to @nathanncohen:

Thanks ! Well, it looks cool, I mean... The design page looks exactly like it looks without your patch applied, so it's all good to me.

:-)

I am of course against having a "Graph" entry in combinat's doc. It just does not belong there, and it is not because combinat users may need other features of Sage that you should copy/paste their doc in your own document.

It's meant as a cross-reference, not as "include the doc here". I clarified this by putting the link in a SEEALSO section.

The point of this cross ref is that a user interested in combinatorics has some good chances to be interested in graph theory too. In general, being able to easily add such crossrefs is actually one of my big motivation for this ticket, as the lack of such crossrefs is one of the weakest points of the reference manual.

it would be better to redirect them toward the index of the graph help, i.e. this page :

http://www.sagemath.org/doc/reference/graphs/index.html

They would get what they asked for: the part of the doc dedicated to graphs.

Good point. To achieve this, I allowed myself to add a label "sage.graphs" at the top of doc/en/reference/graphs/index.rst.

The main page looks okay. The entries in the main combinat page may be sorted (Algebraic Combinatorics appears toward the end of the list)

Good point as well. I had tried to sort them semantically, but it's actually so close from alphabetic order that it might as well be alphabetic.

Given that you do not have so many entries in "Thematic indexes", you could merge it with Dynamical Systems and Miscellaneous too.

Right. I had not noticed there was now a sage.dynamics folder. So I cross-ref'd it instead, and added a link back from there to e_one_star.

Vincent: tell me if that sounds good to you. Refactoring the index for sage.dynamics as is done here for sage.combinat will probably allow for a nicer looking crossref back; but I leave that to a later ticket.

It would avoid having a Miscellaneous entry in the Miscellaneous section too.

It's pretty ridiculous indeed. Not sure how to do this since that's the title of the module, and given the content, I did not find a much more compelling title.. Well, I renamed the section into "Utilities" :-)

On the other hand, as soon as you click on the entries of the main page things begin to get messy. You can reach Words by its entry on the main page, and through "Enumerated sets and combinatorial objects"

Yes, and this is on purpose: the organization of code according to a tree layout is always somewhat arbitrary, whereas users looking for a given feature may have different ideas in mind (you can come to words by thinking "what objects can I enumerate through", or "word theory", or "automata", or ...); so it's good that the given feature be referenced from several places/indexes. Again I believe that's a selling point for this ticket.

Many entries only display the name of a class rather than a full-text description, as the all files you add do not necessarily have a module doc. Sooo well. Maybe you should first add at least one doc line to the top of each file in combinat before anything else.

Yes, there is a technical sphinx point to investigate here.

In many cases, it's better to point directly to a class (or function) instead of a module. This can be because the rest of the module consists of not-so-interesting utility functions; or because a module contains several classes that deserve to be highlighted; or because the nice introductory documentation is written in the class.

Now, the question is: when referencing a class (or function), how to display the one-line description of that class rather than its name. Of course, one can always duplicate by hand that description, but that's ugly.

As a first step, I have added a ~ so that at least we only see the name of the class and not its module prefix. That does not look great in the output in term of consistency of style, but I believe that's ok for now and should not delay this ticket in case configuring Sphinx turns out to take a bit of time.

It's better this way. The doc is closer to the code, that's nice.

Cool.

Cheers, Nicolas


New commits:

b872e5716256: use ~ when referencing classes and functions
4ea19e816256: added title to sage.combinat.perm_grps.permutation_groups_catalog

New commits:

b872e5716256: use ~ when referencing classes and functions
4ea19e816256: added title to sage.combinat.perm_grps.permutation_groups_catalog
anneschilling commented 10 years ago
comment:35

I think it would be a good idea to include crystals, root systems, symmetric functions etc in the thematic indexes. Also, what is the problems linking the thematic tutorials? The user should be able to access them from the front page.

Anne

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:36

Yoooooooooo !! (from my office at the LRI)

I am of course against having a "Graph" entry in combinat's doc. It just does not belong there, and it is not because combinat users may need other features of Sage that you should copy/paste their doc in your own document.

It's meant as a cross-reference, not as "include the doc here". I clarified this by putting the link in a SEEALSO section.

The point of this cross ref is that a user interested in combinatorics has some good chances to be interested in graph theory too. In general, being able to easily add such crossrefs is actually one of my big motivation for this ticket, as the lack of such crossrefs is one of the weakest points of the reference manual.

I wanted to give it a look but the doc does not compile with your branch. Several deprecation warnings appear at first, then there is this

OSError: [dynamics ] /home/ncohen/.Sage/src/doc/en/reference/dynamics/index.rst:14: WARNING: undefined label: sage.combinat.e_one_star (if the link has no caption the label must precede a section header)

I don't have anything against your fetishism for cross-references in general, though in this case you cannot exactly say that the doc for graphs is hard to find in Sage. It has its own entry in the first page of the reference manual :-P

This being said, you will find in the "graph" page a link toward the "IncidenceStructures" defined in combinat/designs, just in case a guy who needs a hypergraph class ends up there. But this is way harder to find than Graphs.

Many entries only display the name of a class rather than a full-text description, as the all files you add do not necessarily have a module doc. Sooo well. Maybe you should first add at least one doc line to the top of each file in combinat before anything else.

Yes, there is a technical sphinx point to investigate here.

In many cases, it's better to point directly to a class (or function) instead of a module. This can be because the rest of the module consists of not-so-interesting utility functions; or because a module contains several classes that deserve to be highlighted; or because the nice introductory documentation is written in the class.

Well... I solved this the other way, by adding interesting doc in the module itself. While it's not very natural to look at the doc of a module when you use Sage, these pages are the html page that appear on google when you look for help. Sooooooo I guess that quite a lot of person end up reading them.

When the module consists of many "not very useful" functions and a few interesting things, you can chose to only mention the important function in the module's head, or to emphasize those that are actually useful.

http://www.sagemath.org/doc/reference/combinat/sage/combinat/designs/latin_squares.html http://www.sagemath.org/doc/reference/combinat/sage/combinat/designs/incidence_structures.html

A couple of words, an index of functions, and you can point to the module directly.

See you later if you come to the lab !

Nathann

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:37

Oh. It seems that if you "try harder" the doc can be built:

make doc-clean && make # will not work

But

make doc-clean; make;make;make;make;make # should eventually work

When you build a module which refers to a module that has not been built the reference fails, but if you type "make" again the failed document will not be rebuilt, so the problem is skipped. With a bit of luck you will build the other document someday, and THEN you will be able to build the first.

Anyway, this may be a problem, at least for Volker.

Nathann

nthiery commented 10 years ago
comment:38

Replying to @nathanncohen:

Oh. It seems that if you "try harder" the doc can be built:

make doc-clean && make # will not work

But

make doc-clean; make;make;make;make;make # should eventually work

Yes, sorry, I got also bitten by this and was actually about to put a warning about this on the ticket. We investigated this a bit this morning with Florent, and it's likely to be just a glitch in the warning reporting while in the first pass of the compilation. This definitely has to be fixed before this ticket can go in.

I'll come to the lab tomorrow. Today I am handling teaching organization in the vallée ...

Cheers, Nicolas

nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -20,11 +20,20 @@
 - Fixed some documentation syntax glitches here and there

 - Added the catalogs of permutation groups and matrix groups to the
-  reference manual so that we can link to them.
+  reference manual so that we can link to them. Fixed the doc title of
+  the former.
+
+- Added a back link from the doc of sage.dynamics

 - Added (draft of) sage.combinat.quickref

+This is a follow up to #16058.
+
 End result browsable at ​http://sage.math.washington.edu/home/nthiery/sage/src/doc/output/html/en/reference/combinat/index.html
+
+Warning: see the note below about the current doc compilation glitch.
+
+*Discussion*

 One might argue that this reorganization of the documentation is not
 consistent with what's done elsewhere in the manual. Indeed. I believe
@@ -63,8 +72,9 @@

   - one can point to related things elsewhere in the source code

-TODO:
+*TODO*

+- Sphinx issue to be investigated: currently `make doc` fails upon
 - confirm that this is the right approach

 - proof reading
@@ -73,12 +83,22 @@

 - checking that the links are functional

-- deciding on how to link to classes/functions: in the index we would
-  want to have the title of the documentation of the class rather than
-  the name of the class; or maybe both.
-
 - here or in a later ticket: finish automatizing the building of
   module_list.rst.

-This is a follow up to #16058.
+  first attempt, complaining about a broken link. One need to rerun
+  it, and then the link is failed. This is probably just a glitch in
+  how warnings are reported during the first pass of the reference
+  manual compilation, but needs to be fixed before this ticket goes
+  in.

+- Sphinx issue to be investigated: deciding on how to link to
+  classes/functions: in the index we would want to have the title of
+  the documentation of the class rather than the name of the class; or
+  maybe both. It might be ok to stick to the class name for now until
+  we find a good way to do this with Sphinx.
+
+- Sphinx issue to be investigated: how to crossrefs documents in the
+  thematic tutorial. If there is no immediate way, it's possible to
+  make a workaround for now.
+
nthiery commented 10 years ago

Description changed:

--- 
+++ 
@@ -33,7 +33,7 @@

 Warning: see the note below about the current doc compilation glitch.

-*Discussion*
+=Discussion=

 One might argue that this reorganization of the documentation is not
 consistent with what's done elsewhere in the manual. Indeed. I believe
@@ -72,7 +72,7 @@

   - one can point to related things elsewhere in the source code

-*TODO*
+=TODO=

 - Sphinx issue to be investigated: currently `make doc` fails upon
 - confirm that this is the right approach
nthiery commented 10 years ago
comment:41

Hi Anne!

Thanks for looking!

Replying to @anneschilling:

I think it would be a good idea to include crystals, root systems, symmetric functions etc in the thematic indexes.

Ok, will do then!

Also, what is the problems linking the thematic tutorials? The user should be able to access them from the front page.

Just a sphinx issue for how to generate properly the link (the reference manual is built before the thematic tutorials, so can't access its intersphinx database of labels). I'll investigate this with Florent, but we can always workaround this for now with a hardcoded html link.

Cheers, Nicolas

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 10 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

7b6637516256: temporarily hard coded html links to the thematic tutorials
29734cf16256: added direct links to the indexes on crystals, quiver algebras, root systems, ...