summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/texlogsieve/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/support/texlogsieve/README.md')
-rw-r--r--Master/texmf-dist/doc/support/texlogsieve/README.md97
1 files changed, 11 insertions, 86 deletions
diff --git a/Master/texmf-dist/doc/support/texlogsieve/README.md b/Master/texmf-dist/doc/support/texlogsieve/README.md
index acc3204d907..e7e92339978 100644
--- a/Master/texmf-dist/doc/support/texlogsieve/README.md
+++ b/Master/texmf-dist/doc/support/texlogsieve/README.md
@@ -22,12 +22,20 @@ report. It is a `texlua` script, similar in spirit to tools such as
`texlogsieve` **must** be run from the same directory as `[pdf|lua|xe]latex`,
because it searches for the files used during compilation (packages loaded
-from the current directory, files included with `\input` etc.).
+from the current directory, files included with `\input` etc.). Also, since
+it cannot detect if LaTeX stops for user input, you should **really** run
+LaTeX in `nonstopmode` when `texlogsieve` is reading from a pipe.
The defaults are reasonable; hopefully, you can just do
```
-[pdf|lua|xe]latex myfile.tex | texlogsieve
+[pdf|lua|xe]latex -interaction nonstopmode myfile.tex | texlogsieve
+```
+
+or
+
+```
+texlogsieve myfile.log
```
and be satisfied with the result.
@@ -40,94 +48,11 @@ too difficult.
If you want to know more about the TeX log file and the workings of
the program, check the initial comments in the code.
-## Short-term improvements
-
- * Create tests
-
- - Synthetic unit tests: these should systematically test the code and the
- features it implements with small "fake" log files
-
- - Real-world files (for example, the docs for some packages or some papers
- from arXiv): these should help us detect important log messages and
- changes in messages whenever new versions of LaTeX and its packages are
- released
-
- * Include the line number in the summary for messages that have it
-
- * Consider messages that only differ by "on line XXX" to be repetitions
-
- * Implement option `--collapse-lines` (show multiline messages as a single
- line)
-
- * Implement option `--no-redundant` (makes messages that are going to be
- summarized, such as `undefined reference blah`, not appear in the filtered
- report, only in the summary)
-
-## Other improvements
-
- * Improve the final summary format - we should look at other tools for
- inspiration
-
- * Filter the summary report too; look at `texloganalyser` for inspiration
-
- * Consider indicating filenames more prominently in the filtered report;
- something like
-
- Messages for file ./somefile.tex:
- LaTeX Warning: File `blah.txt' already exists on the system.
- Messages for file ./someotherfile.tex:
- Warning: Missing character: There is no " (U+0022) in font...
- but only when there is actually something to report for the given file
-
- * Do something smart about LaTeX errors (maybe just detecting them and saying
- "there was an error here" is enough) - maybe get some inspiration from
- <https://github.com/overleaf/latex-log-parser> (the parser from overleaf).
- This can get complicated if we account for the possibility that the user
- interactively solved whatever was the problem, but do we really want to or
- need to handle that?
-
- * Add colors (see `texlog_extract`)
-
- * Improve error handling if/where possible
-
- * Better aggregation in the summary:
-
- - `under/overfull boxes: p.5 (chap1.tex, L27); p.7 (chap2.tex, L37); p.19
- (chap2.tex, L176)`
-
- - `missing characters X, Y, Z in font blah`
-
- * Try to figure out a way to automatically extract possible messages from
- LaTeX packages
-
- * Stuff like
- `LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right`
- should trigger a specific "please rerun" message in the summary
-
- * Maybe grep the .fls file first before trying to do `kpse.find_file()`; this
- is probably more reliable and works even if the environment has changed,
- but can we be sure it works correctly when reading the logfile from a pipe?
-
-## Refactorings to consider:
-
- * Modify `heartbeat` to use `os.difftime()`
-
- * Improve Lines:
-
- - Eliminate `Lines.current` and instead always use `Lines.get(0)`,
- `Lines.get(1)` etc. We might store stuff in indexes 1, 2, 3 etc. and
- make something like `Lines:get(val) => return Lines[val +1]` (this is
- better than actually using index 0 because the lua standard library
- counts from one, so adhering to this convention makes using it easier)
-
- - Reimplement the logic using <https://www.lua.org/pil/11.4.html> for a
- small performance increase
-
---
Code etc: <https://gitlab.com/lago/texlogsieve>
-Copyright 2021 Nelson Lago <lago@ime.usp.br>
+Copyright (C) 2021, 2022 Nelson Lago <lago@ime.usp.br>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by