diff options
author | Norbert Preining <norbert@preining.info> | 2023-03-09 03:03:31 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-03-09 03:03:31 +0000 |
commit | 716c428e47ad2e893c0f970b9fa866d2a88f00e4 (patch) | |
tree | d9b683b0eefb5503c3ec99d4be99d0cfefd4daf2 /support/light-latex-make/README.md | |
parent | a0867c71356c67c442bdebc0de39b7996f847bf7 (diff) |
CTAN sync 202303090303
Diffstat (limited to 'support/light-latex-make/README.md')
-rw-r--r-- | support/light-latex-make/README.md | 72 |
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)) |