Chandan Singh | latex tips and tricks

latex tips and tricks

Contains simple instructions for common issues with writing in latex

## diffing complex latex files

Pipeline for finding the differences between 2 versions of complex latex projects.

Note: this assumes that style files for the two do not change (only changes to .tex files).

1. Download all files for the original version and the new version into folders

2. “Flatten” the tex files by replacing \input{fname.tex} with the contents of the file fname.tex
• simple python code to do this here
• installing (locally):
   git clone git@github.com:johnjosephhorton/flatex.git
cd flatex
pip install --editable .

• running: flatex --include_bbl inputfile.tex outputfile.tex
3. Copy the non-tex files (.cls, .bib, .sty, .bst, figs) you want to use to a new directory

4. From this directory run latexdiff on the flattened files - this should produce the desired diff!
• running: latexdiff file1_flattened.tex file2_flattened.tex > diff.tex

## toggling documents with a simple boolean

a simple way to use booleans in latex without needing to import any packages

defining a boolean:

\newif\ifanonymize % define a boolean named anonymize

\anonymizefalse % set it to false
% \anonymizetrue % set it to true


use it in an if-statement

\ifanonymize
...
\else
...
\fi


create a helper command named \anonfinal which takes two arguments and will print only one of them based on the boolean

\ifanonymize
\newcommand{\anonfinal}[2]{#1}
\else
\newcommand{\anonfinal}[2]{#2}
\fi


## making figures

• figures should be saved as pdf unless they have a ton of points
• https://github.com/Wookai/paper-tips-and-tricks