Changelog
lese 0.5.0
- New service file: The root
Makefilein each lecture was a placeholder, but now it actually does something:- Update latex-math (not just via GitHub action now)
- Update service files
- Clean LaTeX detritus and PDFs in slide directories
- Robustify the
lecture_serviceMakefile to not error if no lectures are cloned (to allow just usingmake installetc.) - Warn if R is not installed for targets that need it, and link to
rigas an installation suggestion. - Convert
file_count.qmdto RMarkdown for backwards compatibility and consistency with other docs.
R package
- Add Biblatex utility functions for
references.bibprocessing to render per-chapter/lecture lierature lists - Normalize file paths in
collect_lectures()(should help path-agnostic usage) - Change default
compile_slide(..., post_clean = FALSE)to avoid “file not found” error when.logfile was unexpectedly missing for checks. - Fix: Use
fs::path_norm()instead offs::path_real()for path normalization incollect_lectures()because the former expected log files to exists which may not exist. - Add flexibility for
find_slide_tex()to allowcompile_slide()etc. to work with a direct path to a slide file for interactive use in arbitrary directories = BUmp TeXLive version used bylatexmk_docker()to 2025.
LaTeX (service/style etc.)
- Makefile in
slides/gets big refactors:- Remove
alltarget, newreleasetarget that does all the important things and copies toslides-pdf - Renamed
mosttoslides - Option to use docker (
make slides DOCKER=true),
- Remove
- Logo is now expected at ./local/logo.pdf
- The
\imagemacro now can take a url (starting withhttp[s]) to create clickable source link without having to create entry inreferences.bib. - New
\imageFixedmacro for fixed-position image placement - Slide check workflows now exit 1 if at least one slide does not compile correctly
- Renamed
frame2toframevto avoid internal beamer package issues -
frameiandframevnow override global itemize/enumerate font size control when using a custom font size, anditemizeMetc. now correctly inherit their surrounding font sizes when not specified. -
frameiandframevnow supportalignargument for beamer frame alignment passthrough. - Add new ref-buttons
furtherreading{}andsourceref{}, the later superseding\citelink{}.\imageand friends internally use\sourcerefnow. - Add
chapter-literature.texinstyleto compile simple chapter-wise literature lists. Also addsmaketargetliterature.
GitHub Action workflows (service/.github/workflows)
- In both worklows using tinytex, we experimentally pin the used version to 2024.12 for safety. This is likely to change in the future but currently this is the only version generally compatible with everything as far as we know. Ideally, we keep bumping this to a recent version, also on Overleaf.
- The Makefile in ./slides/ use a docker image defaulting to 2024 as well
lese 0.4.0
R package
- Add experimental
latexmk_docker()to runlatexmkwrapped in a docker image with a fixed TeXLive version -
compile_slide()gainsmethodargument, defaulting to"system"to use localltexmk. Can be"docker"to use the newlatexmk_docker()instead. - Remove
compile_slide_tinytex()and convert it to the somewhat simplerlatexmk_tinytex()for use withcompile_slide() -
clean_slide()gainskeep_pdfoption, defaulting toFALSEfor previous behavior. -
clean_slide()genscheck_statusoption, analogous to that incompile_slide(). The same argument incompile_slide()is passed toclean_slide(). -
compare_slide()gains additional optioneps_signif([0.5]) to manually filter output fromdiff-pdf-visuallyto decrease number of false-positives. - Add
check_docker()to check whetherdockeris available and running.
lecheck cli:
- Gains
--dockerargument, passed tocompile_slide()to uselatexmk_docker().- Currently uses a TeX Live 2023 image as default
- Allows fully encapsulate compilation of slides with a static environment
- Gains
--postcleanargument to runlatexmk -cafter compilation, removing all detritus but keeping the.pdffile.
LaTeX (service/style)
- Discourageing the use of automatic and explicit
\framebreaks, which cause rendering issues after some TeXLive version post 2023 cutoff:- The
vbframeenvironment is considered deprecated and should be replace with “regular” beamerframes. - Removed framenumber continuation counter from
lmu-lecture.styfor simplification
- The
- Related: The
vframeenvironment (rarely used) is now removed. - Add cheatsheet preamble content from I2ML. Might need further refactor and adaptation if other lectures also use these.
Breaking changes for recently introduced macros (see the wiki):
-
splitVnow maps tosplitVCC, notsplitVTT. -
itemizefillis renamed toitemizeF
New macros (see the wiki for usage instructions)
- Extended
itemizeS,itemizeMetc. to take argument for font size control, e.g.\begin{itemizeM}[small].- Built upon modular
kitemizeenvironment.
- Built upon modular
- Added
frameienvironment which automatically wraps content in flexibleitemizeenvironments with font size and spacing controls. - Added
frame2, likeframebut also has font size control likeitemizeMetc. and behaves like a regularframeotherwise.
lese 0.3.0
- Rename
check_all_slidestocheck_slides_many(), which in turn is a wrapper aroundcheck_slides_single() - Make documentation more consistent, e.g. by inheriting the
slide_fileparameter doc fromfind_slide_tex(). -
slide_status_pr.Rmdandslide_status.Rmd: Only show slide comparison column in output if comparison has been conducted (no longer the case by default) - Remove
make_slides()as it was effectively superseded by either- Running
compile_slide()on a file of itnerest directly, or - Using the
lecheckcli for more control and better error messages, or - Running
makein selected topic directories in a shell as needed
- Running
- Add battery of new layout macros:
-
\imageand\imageCfor\includegraphics -
\splitVXYfamily for predefined positioning within columns (see the wiki)
-
lese 0.2.2
- Ignore
chapter-order-slides-all.texslide name incollect_lectures()
lese 0.2.1
- Added
check_slides()argumentcompare_slidesdefaulting toFALSE, making the no longer pressingly needed slide comparisons againstslides-pdfreference slides an optional step rather than default behavior.
lese 0.2.0
- Add new layout helpers
\splitV,\twobytwoand others, see https://github.com/slds-lmu/teaching_devops_issues/issues/18
lese 0.1.1
- Add heuristic to handle duplicate slide matches.
- If topics move between lectures, the current heuristic prefers the most recently edited one.
- Example:
slides-gp-bayes-lm.texis included inlecture_slandlecture_advml, but the former is more recent.
- Extend LaTeX dependencies install via
make install-texbased on requirements of exercises inlecture_sl - Explicitly document that TeX Live 2024 is assumed for the entire setup.
lese 0.1.0
-
lecheck: Addcleansubcommand to runlatexmk -Cand nothing else. -
lecheck: Add--pdf-copyflag to copy compiled slides toslides-pdf/<slide-name>.tex. -
lecheck: Add--no-comparison-pdfflag to avoid creating diff PDFs viacompare_slides(). -
lecheck: Add--no-marginflag that compiles slides without speaker margin. - Add
marginflag tocompile_slides(andcompile_slides_tinytex(to facilitate with/without margin compilation - Add
lese::set_margin_token_fileutility to manage the token file for the above. - Improve robustness of lecture directory listing in
collect_lectures(). - Add
file_counts.qmd(still needs some cleanup and ideally a subdirectory, but paths…) - Start taking versioning somewhat seriously.