# layout ```latex \setlength{\parindent}{1.5em} % erstzeileneinzug \setlength{\parskip}{0.5\baselineskip} % absatzabstand ``` # packages ```latex % utf8 assumed as default since 2018 \usepackage[utf8]{inputenc} % enables hyphenation w/ ümläüts % sometimes not needed, when other packages already require it \usepackage[T1]{fontenc} ``` # makeatletter in tex "category codes" ("catcodes") specify how characters are handled. "normal characters" have catcode 11. `@` has catcode 11 in class and package files and 12 in text files. this is commonly used to write private macros, which cannot easily be used and overwritten by users. ```tex \makeatletter % changes the catcode of @ to 11 can use macro names w/ '@' in their names \makeatother % changes the catcode of @ back to 12 ``` # tools `rubber` runs latex until indexes are stable, also supports `makeindex`, `bibtex` and others, produces `dvi` by default. ```sh # switch output to pdf file rubber --pdf # clean intermediate files rubber --clean # clean intermediate and target file (pdf) rubber --clean --pdf ```