8000 GitHub - sspickle/genlatex
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

sspickle/genlatex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Templating Assessments with LaTex and Python

This year I'm trying to generate quizzes automatically to the degree possible.

I've cooked up a templating scheme using jijna2 that works with LaTeX templates.

This article was very helpful.

Now that this has been published to pypi you can simply:

pip install genlatex

Once you have that, you can 'cd' to the directory with your template and data generator file and run getlatex using:

genlatex [ options ] dataGeneratorFile.py

For example to create 10 versions of the example you could:

cd example

genlatex -n 10 tlo-EX-Data.py

Then check in the folder for your .tex files!

To convert to pdf en-masse, with bash:

find *.tex |  xargs -n 1 pdflatex

If your dataGeneratorFile needs to import any modules you should add '.' to the PYTHONPATH, e.g.,

PYTHONPATH=. genlatex -n 10 tlo-EX-Data.py

There is a shell script "buildZip.sh" that creates an importable .zip file that can be used to import quizzes into Sakai. It may also work for other LMS variations. Untested!

Update: Now you can run the full docker (Dockerfile-w-latex) version:

docker run --rm -it -v `pwd`:/work/src genlatex-full doExport.sh -n 10 tlo-EX-Data.py

Or the mini-docker (Dockerfile)

docker run --rm -it -v `pwd`:/work/src genlatex buildTeXs.sh -n 10 tlo-EX-Data.py

to build the mini-docker (without a full LaTeX install ~1.4GB)

docker build -t genlatex .

to build the full docker build (with a full LaTeX install ~7GB)

docker build -f Dockerfile-w-latex -t genlatex-full .

CHANGES:

v 0.12: Added units to formatters (e.g., latex_float(2.31, units="m"))

v 0.14: add units to latex_float and latex_vec, add some doc tests.

v 0.15: Changed the path handling to make it more Windows friendly.

v 0.16: Update README & other doc-strings

v 0.17: Add file path to items.xml so export.zip would contain individual filenames for students/instructors.

v 0.18: Possible breaking change. latex_float arguments are switching order, units first to save typing.
        Now you can type simply: latex_float(2.31,"m") and "m" will be units. If you want a different format
        then 'fmt' must be supplied as a *third* argument, or with a keyword, e.g. latex_float(2.234, fmt="{:0.2g}").

        Also, added a '-0' detector that should convert these to '0'.

v 0.19: Modified the attachment file paths so that Canvas would accept them. Unfortunately canvas does not
  	    support file upload questions in their current quiz tool.

v 0.20: Added eunit formatter to use "engineering" units.

v 0.24: Various changes, includeing command line variables in templates.

v 0.25: Force wheel in pypi

v 0.26: Clean up minor issues

v 0.27: Remove `\rm` in favor of `\mathrm`

M1 Install with PyTikz:

    brew install mupdf swig
    brew install freetype
    pip install https://github.com/pymupdf/PyMuPDF/archive/master.tar.gz
    pip install git+https://github.com/allefeld/pytikz.git

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0