| 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, setcompile = FALSEand try editing the tex file manually.
Value
Invisible NULL.
Examples
## Not run:
latexdiff("file1.Rmd", "file2.Rmd")
## End(Not run)