summaryrefslogtreecommitdiff
path: root/support/light-latex-make/README.md
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-03-09 03:03:31 +0000
committerNorbert Preining <norbert@preining.info>2023-03-09 03:03:31 +0000
commit716c428e47ad2e893c0f970b9fa866d2a88f00e4 (patch)
treed9b683b0eefb5503c3ec99d4be99d0cfefd4daf2 /support/light-latex-make/README.md
parenta0867c71356c67c442bdebc0de39b7996f847bf7 (diff)
CTAN sync 202303090303
Diffstat (limited to 'support/light-latex-make/README.md')
-rw-r--r--support/light-latex-make/README.md72
1 files changed, 64 insertions, 8 deletions
diff --git a/support/light-latex-make/README.md b/support/light-latex-make/README.md
index d8cee7d45b..12f4ff1c0c 100644
--- a/support/light-latex-make/README.md
+++ b/support/light-latex-make/README.md
@@ -42,7 +42,7 @@ Hello \textsf{llmk}!
Suppose we save this file as `hello.tex`, then run
```shell
-$ llmk hello.tex
+llmk hello.tex
```
will produce a PDF document (`hello.pdf`) with XeLaTeX, since it is specified in the TOML line of the source.
@@ -63,7 +63,7 @@ source = "hello.tex"
If you run llmk without any argument, llmk will load `llmk.toml` in the working directory, and compile files specified by the `source` key with the settings written in the file.
```shell
-$ llmk
+llmk
```
### Supports for other magic comment formats
@@ -116,7 +116,7 @@ Similar to [latexmk](http://personal.psu.edu/jcc8/software/latexmk/), Actions `-
Specifically,
```shell
-$ llmk --clean FILE...
+llmk --clean FILE...
```
removes files generated by the specified `FILE`s. In case you omit the argument `FILE`, files generated by the `source` files are removed. In both cases, the files to remove by these actions can be customized (see the reference manual for the details).
@@ -153,7 +153,9 @@ In the `args` keys in each program, some format specifiers are available. Those
* `%S`: the file name given to llmk as an argument (source)
* `%T`: the target for each program
-* `%B`: the base name of `%S`
+* `%o`: the output directory, or `.` if none was specified
+* `%b`: the base name of `%S`
+* `%B`: the output directory concatenated with the base name of `%S`
This way is a bit complicated but strong enough allowing you to use any kind of outer programs.
@@ -170,7 +172,9 @@ The following is the list of available TOML keys in llmk. See the reference manu
* `latex` (type: *string*, default: `"lualatex"`)
* `llmk_version` (type: *string*)
* `makeindex` (type: *string*, default: `"makeindex"`)
+* `makeglossaries` (type: *string*, default: `"makeglossaries"`)
* `max_repeat` (type: *integer*, default: `5`)
+* `output_directory` (type: *string*)
* `programs` (type: *table*)
* \<program name\>
* `args` (type: *string* or *array of strings*, default: `["%T"]`)
@@ -182,7 +186,7 @@ The following is the list of available TOML keys in llmk. See the reference manu
* `postprocess` (type: *string*)
* `target` (type: *string*, default: `"%S"`)
* `ps2pdf` (type: *string*, default: `"ps2pdf"`)
-* `sequence` (type: *array of strings*, default: `["latex", "bibtex", "makeindex", "dvipdf"]`)
+* `sequence` (type: *array of strings*, default: `["latex", "bibtex", "makeindex", "makeglossaries", "dvipdf"]`)
* `source` (type: *string* or *array of strings*, only for `llmk.toml`)
### Default `programs` table
@@ -208,7 +212,7 @@ generated_target = true
[programs.latex]
command = "lualatex"
-opts = ["-interaction=nonstopmode", "-file-line-error", "-synctex=1"]
+opts = ["-interaction=nonstopmode", "-file-line-error", "-synctex=1", '-output-directory="%o"']
aux_file = "%B.aux"
aux_empty_size = 9
@@ -218,12 +222,64 @@ target = "%B.idx"
generated_target = true
postprocess = "latex"
+[programs.makeglossaries]
+command = "makeglossaries"
+target = "%B.glo"
+generated_target = true
+postprocess = "latex"
+opts = ['-d "%o"']
+args = ["%b.glo"]
+
[programs.ps2pdf]
command = "ps2pdf"
target = "%B.ps"
generated_target = true
```
+## Building and testing
+
+Some maintenance tasks are defined as [Rake](https://github.com/ruby/rake) tasks. To run these tasks, please install the dependencies first:
+
+```shell
+bundle install
+```
+
+### Generating all documentation
+
+The following will generate both the PDF and the manpage in `doc/` directory.
+
+```shell
+rake doc
+```
+
+### Running tests
+
+The following will run all tests in `spec/` directory.
+
+```shell
+rake test
+```
+
+Alternatively, you can give spec names with the `--list` (`-l`) option for this task. E.g., following will run only `spec/help_spec.rb` and `spec/version_spec.rb`:
+
+```shell
+rake test -- -l help,version
+```
+
+### Showing all available tasks
+
+Following will show all available tasks with a short description.
+
+```shell
+rake -T
+```
+
+In addition to that, for options available tasks, e.g., `rake test`, you can get options information with `-h` option for each task:
+
+```shell
+rake test -- -h
+```
+
## Links to other materials
* [Reference manual](http://mirrors.ctan.org/support/light-latex-make/llmk.pdf): it describes the full specification.
@@ -236,7 +292,7 @@ This project has been supported by the [TeX Development Fund](https://www.tug.or
## License
-Copyright 2018-2021 Takuto ASAKURA ([wtsnjp](https://twitter.com/wtsnjp))
+Copyright 2018-2023 Takuto Asakura ([wtsnjp](https://twitter.com/wtsnjp))
This software is licensed under [the MIT license](./LICENSE).
@@ -246,4 +302,4 @@ This software is licensed under [the MIT license](./LICENSE).
---
-Takuto ASAKURA ([wtsnjp](https://twitter.com/wtsnjp))
+Takuto Asakura ([wtsnjp](https://twitter.com/wtsnjp))