| Type: | Package | 
| Title: | Diff TeX, 'rmarkdown' or 'quarto' Files Using the 'latexdiff' Utility | 
| Version: | 0.2.0 | 
| Author: | David Hugh-Jones [aut, cre] | 
| Maintainer: | David Hugh-Jones <davidhughjones@gmail.com> | 
| Description: | Produces a PDF diff of two 'rmarkdown', 'quarto', Sweave or TeX files, using the external 'latexdiff' utility. | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/hughjonesd/latexdiffr | 
| BugReports: | https://github.com/hughjonesd/latexdiffr/issues | 
| Encoding: | UTF-8 | 
| Imports: | assertthat, fs, rprojroot | 
| Suggests: | tinytex, rmarkdown, knitr, quarto, testthat, covr | 
| SystemRequirements: | latexdiff | 
| RoxygenNote: | 7.2.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-02-16 09:51:55 UTC; davidhugh-jones | 
| Repository: | CRAN | 
| Date/Publication: | 2024-02-16 10:10:02 UTC | 
Call latexdiff on git revisions
Description
git_latexdiff() checks out a previous version of a file and calls latexdiff
on it.
Usage
git_latexdiff(path, revision, clean = TRUE, ...)
Arguments
| path | File path to diff | 
| revision | Revision, specified in a form that  | 
| clean | Clean up intermediate files, including the checked out file? | 
| ... | Arguments passed to  | 
Details
git_latexdiff only checks out the specific file in path. If your Rmd file depends on external
resources which have also changed, you will need to checkout the old revision as a whole and
create the tex file manually.
Value
The result of latexdiff.
Examples
## Not run: 
git_latexdiff("file1.Rmd", "HEAD^")
git_latexdiff("file1.Rmd", "master@{7 days ago}")
## End(Not run)
Produce a diff of two files using latexdiff
Description
latexdiff() uses the external utility latexdiff to create a PDF file
showing differences between two Rmd, qmd, Rnw or TeX files.
Usage
latexdiff(
  path1,
  path2,
  output = "diff",
  compile = TRUE,
  open = interactive(),
  clean = TRUE,
  quiet = TRUE,
  output_format = NULL,
  ld_opts = "--replace-context2cmd=\"none\""
)
Arguments
| path1 | Path to the first file. | 
| path2 | Path to the second file. | 
| output | File name of the output, without the  | 
| compile | Logical. Compile the diff from tex to pdf? | 
| open | Logical. Automatically open the resulting pdf? | 
| clean | Logical. Clean up intermediate TeX files? | 
| quiet | Logical. Suppress printing? Passed to  | 
| output_format | An rmarkdown output format for Rmd files, probably
 | 
| ld_opts | Character vector of options to pass to  | 
Details
You will need the latexdiff utility installed on your system:
# on MacOS: brew install latexdiff # on Linux: sudo apt install latexdiff
File types are determined by extension,which should be one of .tex, .Rmd,
.qmd or .rnw. Rmd files are processed by rmarkdown::render(). Rnw files
are processed by knitr::knit(). qmd files are processed by
quarto::quarto_render().
latexdiff is not perfect. Some changes will confuse it. In particular:
- If input and output files are in different directories, the - "diff.tex"file may have incorrect paths for e.g. included figures.- latexdiffwill add the- --flattenoption in this case, but things still are not guaranteed to work.
- Sometimes the - "diff.tex"file fails to compile to pdf. If so, set- compile = FALSEand try editing the tex file manually.
Value
Invisible NULL.
Examples
## Not run: 
latexdiff("file1.Rmd", "file2.Rmd")
## End(Not run)