diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 51 |
1 files changed, 39 insertions, 12 deletions
@@ -1,6 +1,7 @@ BIBLIOGRAPHY := bibliography.bib TEMPLATE_FILES := $(wildcard templates/*) TEMPLATE := templates/default.latex +WORDCOUNT_FILTER := filters/wordcount.lua DISSERTATION_FRONTMATTER := frontmatter.yml DISSERTATION_MARKDOWN := dissertation.md INTRODUCTION_MARKDOWN := chapter0.md @@ -11,7 +12,10 @@ CHAPTER_4_MARKDOWN := chapter4.md CONCLUSION_MARKDOWN := chapter5.md LOG_MARKDOWN := log.md SCRAPBOOK_MARKDOWN := scrapbook.md +DISSERTATION_LATEX := dissertation.latex +DISSERTATION_LATEX_NO_REFERENCES := dissertation-no-references.latex DISSERTATION_PDF := dissertation.pdf +DISSERTATION_PDF_NO_REFERENCES := dissertation-no-references.pdf LOG_PDF := log.pdf SCRAPBOOK_PDF := scrapbook.pdf @@ -58,15 +62,23 @@ $(SCRAPBOOK_PDF): $(SCRAPBOOK_MARKDOWN) $(BIBLIOGRAPHY) $(TEMPLATE_FILES) dissertation: $(DISSERTATION_PDF) -$(DISSERTATION_PDF): $(DISSERTATION_MARKDOWN) $(BIBLIOGRAPHY) $(TEMPLATE_FILES) +$(DISSERTATION_PDF): $(DISSERTATION_LATEX) pandoc \ --standalone \ - --from markdown \ + --from latex \ --to pdf \ --pdf-engine pdflatex \ + --output $(DISSERTATION_PDF) \ + $(DISSERTATION_LATEX) + +$(DISSERTATION_LATEX): $(DISSERTATION_MARKDOWN) $(BIBLIOGRAPHY) $(TEMPLATE_FILES) + pandoc \ + --standalone \ + --from markdown \ + --to latex \ --citeproc \ --template $(TEMPLATE) \ - --output $(DISSERTATION_PDF) \ + --output $(DISSERTATION_LATEX) \ $(DISSERTATION_MARKDOWN) .SILENT: $(DISSERTATION_MARKDOWN) @@ -91,16 +103,31 @@ $(DISSERTATION_MARKDOWN): $(DISSERTATION_FRONTMATTER) $(INTRODUCTION_MARKDOWN) $ echo "" >> $(DISSERTATION_MARKDOWN) .SILENT: wordcount -wordcount: $(DISSERTATION_MARKDOWN) - echo "Introduction: ~$$(cat $(INTRODUCTION_MARKDOWN) | wc -w)" - echo "Chapter 1: ~$$(cat $(CHAPTER_1_MARKDOWN) | wc -w)" - echo "Chapter 2: ~$$(cat $(CHAPTER_2_MARKDOWN) | wc -w)" - echo "Chapter 3: ~$$(cat $(CHAPTER_3_MARKDOWN) | wc -w)" - echo "Chapter 4: ~$$(cat $(CHAPTER_4_MARKDOWN) | wc -w)" - echo "Conclusion: ~$$(cat $(CONCLUSION_MARKDOWN) | wc -w)" +wordcount: $(DISSERTATION_PDF_NO_REFERENCES) + echo "Introduction: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(INTRODUCTION_MARKDOWN))" + echo "Chapter 1: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(CHAPTER_1_MARKDOWN))" + echo "Chapter 2: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(CHAPTER_2_MARKDOWN))" + echo "Chapter 3: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(CHAPTER_3_MARKDOWN))" + echo "Chapter 4: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(CHAPTER_4_MARKDOWN))" + echo "Conclusion: $$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(CONCLUSION_MARKDOWN))" echo "Footnotes: ???" echo "References: ???" - echo "Total: ~$$(cat $(DISSERTATION_MARKDOWN) | tail -n +6 | wc -w) + footnotes" + echo "Total: $$(pdfgrep -o '\w+' $(DISSERTATION_PDF_NO_REFERENCES) | wc -w) ($$(pandoc --lua-filter $(WORDCOUNT_FILTER) $(DISSERTATION_MARKDOWN)) + footnotes)" + +$(DISSERTATION_PDF_NO_REFERENCES): $(DISSERTATION_LATEX_NO_REFERENCES) + pandoc \ + --standalone \ + --from latex \ + --to pdf \ + --pdf-engine pdflatex \ + --output $(DISSERTATION_PDF_NO_REFERENCES) \ + $(DISSERTATION_LATEX_NO_REFERENCES) + +bib_start_line_index = $(shell grep -nm 1 "^\\\\begin{CSLReferences}" $(DISSERTATION_LATEX) | sed "s/^\([0-9]*\):.*$$/\1/") +bib_end_line_index = $(shell grep -nm 1 "^\\\\end{CSLReferences}" $(DISSERTATION_LATEX) | sed "s/^\([0-9]*\):.*$$/\1/") +$(DISSERTATION_LATEX_NO_REFERENCES): $(DISSERTATION_LATEX) + head -n $$(( $(bib_start_line_index) - 1 )) $(DISSERTATION_LATEX) > $(DISSERTATION_LATEX_NO_REFERENCES) + tail -n +$$(( $(bib_end_line_index) + 1 )) $(DISSERTATION_LATEX) >> $(DISSERTATION_LATEX_NO_REFERENCES) clean: - rm -f $(LOG_PDF) $(SCRAPBOOK_PDF) $(DISSERTATION_MARKDOWN) $(DISSERTATION_PDF) + rm -f $(LOG_PDF) $(SCRAPBOOK_PDF) $(DISSERTATION_MARKDOWN) $(DISSERTATION_LATEX) $(DISSERTATION_LATEX_NO_REFERENCES) $(DISSERTATION_PDF) $(DISSERTATION_PDF_NO_REFERENCES) |
