• ornery_chemist@mander.xyz
    ·
    edit-2
    1 month ago

    Counterpoint: advisor said no.

    "Just use Word, everyone else does. I have never heard of this latex thing, so must be just some trendy useless overengineered software that does Word's job but worse. Word can track changes just fine, and you can leave comments." proceeds to strikethrough, highlight, and inline comment everything instead of using either of those features "I want to read what you wrote, not fight technology" proceeds to email you three separate times after forgetting to attach v28 about how a graphic looks wrong because Word ate it

    • 7bicycles [he/him]
      ·
      1 month ago

      galaxy-brain: don't even talk to your advisors, just hand in a finished PDF

      • ornery_chemist@mander.xyz
        ·
        edit-2
        1 month ago

        Dude was a micromanaging gatekeeper. My dissertation is still embargoed because he is paranoid about being scooped. Joke's on him, everything that hasn't been published is not exciting enough to meet his own metric for publishability.

  • qjkxbmwvz@startrek.website
    ·
    1 month ago

    I also added a Makefile for mine (LaTeX), and it would add the commit hash to the front page (with an asterisk if the repository had uncommitted changes).

    So, if I gave a draft to someone and got feedback, I'd know exactly which revision it was.

      • qjkxbmwvz@startrek.website
        ·
        1 month ago

        Makefile in other comments. You'll need something like this on the title page (this assumes you use my Makefile which puts the version in VERSION.tex [that's the literal name of the file, not a placeholder]):

        {\bf{\color{red}DOCUMENT REVISION:}} {\color{blue}\input{VERSION}}

      • qjkxbmwvz@startrek.website
        ·
        1 month ago

        Sure thing. This also includes the beamer bit which I used for my defense. It's all pretty hacky but hope it's useful!

        #
        # Errors aren't handled gracefully (tex doesn't write to stderr, it seems)
        # If you encounter errors, use "make verbose"
        #
        # For small changes (probably those without references), use "make quick"
        #
        # Thanks to https://gist.github.com/Miliox/4035649 for dependency outline
        
        TEX = pdflatex
        BTEX = biber
        MAKE = make -s
        TEXFLAGS = -halt-on-error
        # $(MAIN).log is dumb if we have multiple targets!
        SILENT = > /dev/null || cat $(MAIN).log
        SILENT_NOER = 2>/dev/null 1>/dev/null
        EDITOR = vim -p
        PDFVIEW = evince
        MAIN = main
        PRES = presentation
        ALL = $(MAIN).pdf
        RECURS = media/ manuscripts/
        VERSION := $(shell git rev-parse --short HEAD | cut -c 1-4)$(shell git diff-index --quiet HEAD && (echo -n ' ';git log -1 --format=[%cd]) || (echo -n '* '; date -u '+[%c]'))
        
        all: recurs $(ALL)
        pres: $(PRES).pdf
        scratch: scratch.pdf
        
        scratch.pdf: scratch.tex
        	@echo "TEX	(final)	$<"
        	@$(TEX) $(TEXFLAGS) $< $(SILENT)
        
        verbose: SILENT = ''
        verbose: $(ALL)
        
        recurs: $(RECURS)
        	@$(foreach DIR, $(RECURS), \
        		echo "MAKE	(CD)	$(CURDIR)/$(DIR)"; \
        		$(MAKE) -C $(DIR) $(MAKECMDGOALS);)
        	@echo "MAKE	(CD)	./"
        
        clean:
        	@echo "SH	(RM)	Not recursing; 'make allclean' to clear generated files."
        	@rm -f *.aux *.log *.out *.pdf *.bbl *.blg *.toc *.lof *.lot *.bcf *.run.xml
        
        allclean: recurs
        	@echo "SH	(RM)	A clean directory is a happy directory"
        	@rm -f *.aux *.log *.out *.pdf *.bbl *.blg *.toc *.lof *.lot *.bcf *.run.xml
        version:
        	@echo "SH      (ver) $(VERSION)"
        	@echo $(VERSION) > VERSION.tex
        
        nixpages: main.pdf
        	@echo "PDF     (pdftk)"
        	@pdftk main.pdf cat 1 4-end output final.pdf
        
        quick: $(MAIN).tex version
        	@echo "TEX	(final)	$<"
        	@$(TEX) $(TEXFLAGS) $< $(SILENT)
        
        $(MAIN).pdf: $(MAIN).tex $(MAIN).bbl all.tex tex/abstract.tex tex/intro.tex tex/appendix.tex tex/some_section.tex tex/some_other_section.tex
        	@echo "TEX	(draft)	$<"
        	@$(TEX) $(TEXFLAGS) --draftmode  $< $(SILENT)
        	@echo "TEX	(final)	$<"
        	@$(TEX) $(TEXFLAGS) $< $(SILENT)
        
        $(MAIN).bbl: $(MAIN).aux
        	@echo "BIB	(bib)	$(MAIN)"
        	@$(BTEX) $(MAIN) > /dev/null
        	
        $(MAIN).aux: $(MAIN).tex $(MAIN).bib version
        	@echo "TEX	(draft)	$<"
        	@$(TEX) $(TEXFLAGS) --draftmode  $< $(SILENT)
        
        $(PRES).pdf: $(PRES).tex $(PRES).bbl tex/beamer*.tex tex/slides/*.tex
        	@echo "TEX	(draft)	$<"
        	@$(TEX) $(TEXFLAGS) --draftmode  $< $(SILENT)
        	@echo "TEX	(final)	$<"
        	@$(TEX) $(TEXFLAGS) $< $(SILENT)
        $(PRES).bbl: $(PRES).aux
        	@echo "BIB	(bib)	$(PRES)"
        	@$(BTEX) $(PRES) > /dev/null
        $(PRES).aux: $(PRES).tex $(MAIN).bib
        	@echo "TEX	(draft)	$<"
        	@$(TEX) $(TEXFLAGS) --draftmode  $< $(SILENT)
        
        edit:
        	@echo "EDIT	(fork)	$(EDITOR)"
        	@$(EDITOR) ./tex/*.tex *.tex
        
        view:
        	@echo "VIEW	(fork)	$(PDFVIEW)"
        	@$(PDFVIEW) $(ALL) $(SILENT_NOER) &
        
        • qjkxbmwvz@startrek.website
          ·
          1 month ago

          I also had some Makefiles in other directories, e.g., for my media/ I had:

          MAKE = make -s
          RECURS = svgs/
          
          recurs: $(RECURS)
                  @$(foreach DIR, $(RECURS), \
                          echo "MAKE      (CD)    $(CURDIR)/$(DIR)"; \
                          $(MAKE) -C $(DIR) $(MAKECMDGOALS);)
                  @echo "MAKE     (CD)    $(CURDIR)/"
          
          all: recurs
          
          clean:
          
          allclean: recurs clean
          

          and for media/svgs/:

          SVG_FILES := $(wildcard *.svg)
          PDFDIR := ./
          PDF_FILES := $(patsubst %.svg,$(PDFDIR)/%.pdf,$(SVG_FILES))
          
          all: $(PDF_FILES)
          
          clean:
                  @rm -f $(PDF_FILES)
                  @echo "SH       (RM)    Tidying up derived PDFs"
          
          allclean: clean
          
          $(PDFDIR)/%.pdf: %.svg
                  @inkscape -T --export-pdf=$@ $<
                  @echo "INK      (PDF)   $<"