erikmannerfelt / manus Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Currently, the sep
helper needs a separator
in the data.toml
. A neater way would be to have \,
as default, and the separator
key to optionally override it.
This behaviour will need to be changed accordingly in the documentation.
Having {{round 2 value}}
and "expr: round(value, 2)"
is quite weird and the latter should probably be standardized to.
Numbers in latex are often 1000-separated with \,
. In the JSON world, it has to be written as \\,
to mark that the backslash is not an escape sequence. A weird error occurs then, however:
{
"n_terra_archive_images": 57385,
"separator": "\\,"
}
The terrA archive consists of {{sep n_terra_archive_images}} images in total, covering most of Switzerland.
Undefined control sequence.
l.44 The terrA archive consists of 57,\3
85 images in total, covering most of...
Note that the separator turned into ,\
instead of \,
!
If \today
is used, it will print: 1st January, 1970
.
The {{sep key}}
is great for making large numbers more readable, e.g. 123456789
-> 123 456 789
.
This should be possible as a global flag somewhere, so that the sep
helper does not need to be put on every number, but will be added automatically.
Something like
% [manus: separate, round 2]
etc.
Some examples of helpers that might be useful are:
pm
or something to automatically add value$\pm$error
if a "_pm" key is available?{{year1 - year2}}
to get a duration.' strings evaluate as literals, so they are good for latex backslash code. " evaluates escape sequences, and will complain about "," for example.
I use round( 100 * part / total)
quite much, so it would be nice with an abbreviation of it.
Currently, only json is supported, which is the most acceptable format out there. Toml is however great, as it allows for a more "human" syntax, and allows for comments.
If a key is not found, this error will be printed:
WARNING L79C62: pm argument: null was not a valid data path.
This is not very useful...
LaTeX is terrible at telling what's wrong. In addition, manus
introduces new syntax, like templating, which would be nice to validate in a command.
Good checks can be:
data.json
)data.json
that hasn't been used.)1e-9
is currently invalid syntax and is terribly annoying to write. Something should be done about that.
Also, there is no operator for exponents, so a pow()
function or similar should be implemented.
Right now, there is no verbose flag, so no progress and very few errors are reported.
This could be added like in the clap readme:
manus # this is quiet, unless there are errors.
manus -v # This prints warnings and some more info.
manus -vv # This prints everything
In python, it's trivial. I'm sure it can't be too hard in rust as well..
I am so used to piping things that it didn't occur to me that some cough windows may not always have access to those arguably essential tools. Hence:
manus convert main.tex > converted.tex
doesn't work. There should be an --output, -o
option for all CLI arguments:
manus convert main.tex -o converted.tex
Currently, warnings are provided with line numbers of the merged tex file. Theoretically, a map or line struct could be made to remember which lines come from where. Thus, the error:
WARNING L166C83: Variable "value" not found.
could become:
WARNING L20C83 in chapters/data.tex: Variable "value" not found.
or similar.
Currently, most errors are shown to the user using format!("{:?}", error)
which works for now but is quite ugly. There must be a better way for this!
Bibtex is a nightmare, and its functionality is not very complicated. It would not be too hard to use templating-like syntax to generate bibliographies with hyperlinks.
The advantage would be that new bibliography styles can be made simply, without having to write a 1000+ line .sty
file. Currently, TeX has to run twice (TeX -> BibTeX -> TeX) to get cross-references right. If BibTeX is removed, it only has to be run once, which will probably make it much much faster.
Also, error handling (Missing a { -> "There were undefined citations" ????) could be significantly improved. Of course, conversions should be possible into a "mainstream latex" format.
Arguments that should be propagated are:
--synctex
--keep-intermediates
--print # Although this would be -vv or something.
If things are published to crates.io, I guess it would solve itself. Would be nice to write things down, especially with helper syntax and so on.
1.2001
rounded to three decimals is 1.200
. In manus, this becomes 1.2
, which is not the same thing in science!
LaTeX doesn't care about image sizes, which is an obvious problem as images of arbitrary sizes can be given. It would be nice with a flag to automatically reduce image sizes:
manus build --downsample=300 main.tex
or something similar.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.