Using Sphinx within a project using several programming languages
The best way to combine different languages in one Sphinx project is to write docs without autodoc or other means of automatic generation. For the most part they are available only for Python and even if some extension out there does allow other languages, you will be buried under different workflows before you even notice.
Salvage your docs from the code and write them in concise manner in a separate docs folder of your project or even separate repository. You could use the generic Sphinx directories like class or method with no attachment to the code and for virtually any major programming language. I for myself did a project like that, where I needed to combine C, C++ and Python code in one API and it was done manually.
If you create this kind of detached project, the maintenance should be much of an issue. It's not much harder, than autodoc workflow. What for PDF and HTML - any Sphinx project allows that. See their docs for details on different builders like latexpdf or html.
the project I am working on ship a package that contains API for different languages: Java, Python, C#, and others. All these APIs shared mostly the same documentation. The documentation should be available in PDF and HTML separately on our website. The user usually download/browse the one it is interested in.
Currently we use sdocml, but we are not that satisfied and so we want to move to a more up to date tool and we are considering Sphinx.
Looking at the Sphinx documentation I cannot clearly figure out how:
1- say to generate the docs for a certain API (for instance the Java one)
2- does autodoc works for any domain?
3- is there a c# extension?
Any help is most welcome!