Makefile 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. .PHONY: FORCE pdf publish watch clean purge config env docs ignore acknowledge
  2. -include .env
  3. export
  4. main: pdf
  5. # pdf : generate the document as pdf
  6. # publish : make a copy of pdf with desired name
  7. # watch : continuious watch for changes
  8. # clean : remove regeneratable latex files, except output
  9. # purge : remove regeneratable latex files
  10. # init : create config.tex and .env files
  11. # config : copy clean config.tex file
  12. # env : copy clean .env file
  13. # ignore : add config.tex and .env to .gitignore
  14. # acknowledge : remove config.tex and .env from .gitignore
  15. pdf: version
  16. latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf $(document).tex
  17. publish: version
  18. if [ ! -d "published" ]; then mkdir published; fi
  19. sed -i 's/\\pagecolor/%\\pagecolor/g' config.tex
  20. latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf $(document).tex
  21. sed -i 's/%\\pagecolor/\\pagecolor/g' config.tex
  22. cp $(publish).pdf published/$(publish)_$(currentvolume)_$(currentissue).pdf
  23. cp $(publish).pdf published/$(publish)_$(currentvolume)_$(currentissue)_$(shell date --iso-8601=seconds).pdf
  24. latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf $(document).tex
  25. convert -verbose -density 150 published/$(publish)_$(currentvolume)_$(currentissue).pdf -strip -quality 100 -sharpen 0x1.0 -append published/$(publish)_$(currentvolume)_$(currentissue).png
  26. convert published/$(publish)_$(currentvolume)_$(currentissue).png -trim published/$(publish)_$(currentvolume)_$(currentissue).png
  27. cp published/$(publish)_$(currentvolume)_$(currentissue).png published/$(publish)_$(currentvolume)_$(currentissue)_$(shell date --iso-8601=seconds).png
  28. version:
  29. sed -i '/currentvolume/c\\\currentvolume{$(currentvolume)}' config.tex
  30. sed -i '/currentissue/c\\\currentissue{$(currentissue)}' config.tex
  31. watch:
  32. latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf -pvc $(document).tex
  33. clean:
  34. latexmk -c
  35. purge:
  36. latexmk -C
  37. init: config env docs
  38. config: FORCE
  39. cp example.config.tex config.tex
  40. env:
  41. cp example.env .env
  42. docs:
  43. cp docs/template_news.tex docs/news.tex
  44. cp docs/template_short_news.tex docs/short_news.tex
  45. ignore: acknowledge
  46. echo config.tex >> .gitignore
  47. echo .env >> .gitignore
  48. acknowledge:
  49. sed -i '/config.tex/d' .gitignore
  50. sed -i '/.env/d' .gitignore