Skip to content
This repository has been archived by the owner on Sep 24, 2020. It is now read-only.

Document DiCy vs arara and latexmk #89

Merged
merged 12 commits into from
Sep 20, 2017
Merged

Document DiCy vs arara and latexmk #89

merged 12 commits into from
Sep 20, 2017

Conversation

yitzchak
Copy link
Owner

@yitzchak yitzchak commented Sep 18, 2017

  • arara summary
  • latexmk summary
  • DiCy details
  • Program support table
  • TL;DR Summary

Resolves #85

@yitzchak yitzchak self-assigned this Sep 18, 2017
@yitzchak
Copy link
Owner Author

@yudai-nkt Please take a look at this PR when you get a chance. Any feedback, no matter what the level of detail, is much appreciated. Please feel free to add line comments or anything else you think is appropriate.

Thanks again!

Copy link

@yudai-nkt yudai-nkt left a comment

Choose a reason for hiding this comment

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

Most of the comments are just personal preference or even due to my poor English comprehension, so feel free to ignore if you don't think you need to change.

Besides the line comments, I think it would be nice if some TL;DR (describing what kind of arara/latexmk's limitation Dicy has overcome) is added. IIUC, DiCy's advantages include

  • it can automatically resolve cross-referrence
  • it can automatically call the external programs depending on the typical packages loaded in the document
  • it can execute appropriate programs in an appropriate order without an explicit specification of build procedure (arara cannot do this)
  • its build procedure does not need to start with LaTeX (arara/latexmk cannot do this)

So, these can be briefly summarized in the beginning part. I enjoyed reading a thorough comparison, but not everyone feels the same and some are quite impatient. ;-)

- [Events][events]
- [Comparison of Builders][] — A comparision of DiCy to [arara][] and
[latexmk][].
- [Commands][] — The commands that can be passed to DiCy.

Choose a reason for hiding this comment

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

The terminology subcommand seems more common (e.g., google/subcommands, spf13/cobra, and maxogden/subcommand). So something like [Commands][] — A list of DiCy's subcommands is more simple.

Copy link
Owner Author

Choose a reason for hiding this comment

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

This is the only thing that I am probably not going to change right now even though I totally agree with you. Unfortunately I use the same terminology in the library API so I will need to do some code refactoring in order to change terminology. Therefore a separate PR will probably be needed.

Choose a reason for hiding this comment

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

I understand the reason and agree that this should be a separate PR.

P.S. I really appreciate the built-in PythonTeX integration as I'll probably use PythonTeX in my thesis, which requires some add_cus_dep in latexmk. Thanks! 😄

Copy link
Owner Author

Choose a reason for hiding this comment

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

Cool! Let me know how it goes with PythonTeX or anything else in regards to DiCy.

README.md Outdated
@@ -104,6 +109,8 @@ commands should always be `load` and `save`, respectively.

[appveyor]: https://ci.appveyor.com/project/yitzchak/dicy/branch/master

[arara]: http://ctan.org/pkg/arara

Choose a reason for hiding this comment

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

Using HTTPS protocol when available is encouraged these days.

README.md Outdated
@@ -104,6 +109,8 @@ commands should always be `load` and `save`, respectively.

[appveyor]: https://ci.appveyor.com/project/yitzchak/dicy/branch/master

[arara]: http://ctan.org/pkg/arara

[asymptote]: http://asymptote.sourceforge.net/

[biber]: http://biblatex-biber.sourceforge.net/

Choose a reason for hiding this comment

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

Link to CTAN (https://www.ctan.org/pkg/biber) can be an option like arara or latexmk. CTAN page links to the SourceForge page.


There are many different automatic and semi-automatic builders for LaTeX-centric
documents. The [Compilation Topic][] at CTAN provides a current list of some of
those specifically designed for TeX or LaTeX documents. In addition there are

Choose a reason for hiding this comment

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

Pandoc internally uses LaTeX, but I don't understand the intention of mentioning pandoc here.


## arara

[arara][] is a rule based builder which relies on directives given in the source

Choose a reason for hiding this comment

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

IMHO, link to external page only at the first appearance in the document is enough.


## latexmk

[latexmk][] is rule based builder selects the appropriate programs to run

Choose a reason for hiding this comment

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

"A" is missing.

explicit directives. For instance, to build a document with a BibTeX based
bibliography one need only execute the following in a command shell.

```sh

Choose a reason for hiding this comment

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

Just FYI: you can also use shellsession or console lexers to show interactive shell input (ref.: atom/language-gfm#204)

latexmk -pdf foo.tex
```

Unlike [arara][], [latexmk][] uses the log files, console output and any file

Choose a reason for hiding this comment

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

I don't investigate the latexmk script, but does it parse console output in addition to log and other auxiliary files?

```

DiCy builds can be configured using command line options, using a YAML options
file or using TeX Magic comments. For instance, to enable shell escape and use a

Choose a reason for hiding this comment

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

M in "Magic" can be lowercased.


```latex
%!TeX shellEscape = yes
%!TeX makeindexStyle = foo
Copy link

@yudai-nkt yudai-nkt Sep 20, 2017

Choose a reason for hiding this comment

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

This magic comment seems to change the MakeIndex's .ist file, not BibTeX.

@yitzchak
Copy link
Owner Author

Thanks @yudai-nkt! All really good comments especially the TL;DR summary!

@yitzchak yitzchak merged commit 69baae3 into master Sep 20, 2017
@yitzchak yitzchak deleted the doc-advantages-of-dicy branch September 21, 2017 00:24
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants