[ 
https://issues.apache.org/jira/browse/JDO-798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17410818#comment-17410818
 ] 

Tilmann Zäschke commented on JDO-798:
-------------------------------------

Another advantage:
 * There are plugins that support automatic syntax highlighting for code 
snippets, even in color or with line numbers, if that is desired.

 

A potential disadvantage:
 * I only really used TexnicCenter so far, but I found it somewhat cumbersome 
to set up. It defaulted to the Acrobat PDF viewer, which does not support 
back-linking. Also MikTex had to be installed separately, and automatic 
installation of plugins and fonts sometime required manual intervention.

> Proposal – Migrate Specification to LaTeX
> -----------------------------------------
>
>                 Key: JDO-798
>                 URL: https://issues.apache.org/jira/browse/JDO-798
>             Project: JDO
>          Issue Type: Task
>            Reporter: Tobias Bouschen
>            Assignee: Tobias Bouschen
>            Priority: Minor
>
> As we were having many issues with the current specification written using 
> OpenOffice, I want to propose to migrate it to LaTeX.
> If you are not aware, LaTeX is basically an open-source scripting language 
> that can be used to define and build PDF documents. The content as well as 
> the document layout is defined as plain text sources, from which the PDF is 
> generated.
> You can create LaTeX sources with any plain-text editor, but if you would 
> like more support, there are also multiple IDEs for LaTeX. I think one of the 
> most well known ones (and the one I used in the past) is 
> [TexMaker|https://www.xm1math.net/texmaker/].
> In my opinion, switching to LaTeX would provide multiple benefits:
>  # The Specification sources would be held in plain-text files. As a result, 
> they can be managed by git. As a result, it will be much easier to 
> concurrently work on the same parts of the document as git can be used to 
> resolve conflicts. Furthermore, as the sources are in plain text, it is much 
> easier to review changes to the documents as you can just look at the diff.
>  # It will be much easier to define a general styling (like header, footer, 
> font, text size, etc.) for the entire document. This styling will be used 
> everywhere unless explicitly defined otherwise in the text. Such local 
> changes to the styling will be explicitly visible as they will be defined 
> through commands. As a result it will be much easier to check where the 
> styling no longer matches and why this is the case.
>  # LaTeX supports a far more fine-grained control over the styling. If you 
> are unhappy with the layout of a specific page/section/chapter (i.e. the 
> location of a figure or an unseemly line break or page break), you have many 
> different tools to adjust the formatting as necessary. While layouting in 
> LaTeX can be fiddly as well, in my experience, it at least is never a mystery 
> why a page has the layout is has.
>  # The styling in LaTeX is much more customizable. You can change pretty much 
> everything about the styling you want to. While this can take a lot of time 
> if you have a very specific vision of how it is supposed to look or are 
> trying to implement a very complex styling, it is easy to create a passable 
> styling in a very short time.
>  # LaTeX provides robust support for many automatically generated document 
> features such as table of contents, bibliographies, indices, relative links 
> to other parts of the document, etc. Most of these features are included in 
> the default build, but if they are not (like bibliographies), additional 
> steps can simply be defined in a build script (like a make file). As a 
> result, you can simply build the entire document with a single command and 
> don't have to worry about any automatically generated content not being up to 
> date.
>  # LaTeX provides a lot of additional helpful features like code sections 
> with automatic code highlighting, automatically managed footnotes, figures 
> with captions (which are actually bound to the figure), etc. And, even if a 
> feature is not supported by default, it is very likely that there is a 
> user-package to add support.
>  # LaTeX should be platform-independent, meaning the generated document 
> should look the same on all platforms.
>  # Like the current OpenOffice document, LaTeX allows to split the content of 
> the document into multiple files (i.e. a file per chapter). But, in Latex, 
> the partitioning of the file (i.e. where a chapter/section starts) is always 
> very apparent as this is defined through different commands.
> My current idea would be to first define the general styling of the document 
> (which will probably take a couple of iterations until we are completely 
> happy with it) and then migrate the old documentation chapter by chapter. 
> During this process, I would like to leave out the index and the assertions. 
> I don't really see the value they provide and, to be honest, therefore don't 
> feel like putting in the large amount of busywork they require. But if you 
> think they are important, it will be easy to add them later on (which would 
> also give us another opportunity to go through all indices and assertions and 
> check whether they are correct).
> To give you a better idea of the proposal, I will first create a small sample 
> document (using a chapter of the current spec) to give a general overview of 
> how a LaTeX-based Spec would work and what a possible layout would be.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to