summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-16 17:25:07 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:18:48 +0200
commit2736be1a577b5d6b59590ace4ead07cba6bf19fa (patch)
treec2763b5e403db6a9083299a6e32dc55c62e2ea2d
parentb29fd45b6a4bacbfe3c0509af30c665343610910 (diff)
gnu: Add texlive-texdef.
* gnu/packages/tex.scm (texlive-texdef): New variable.
-rw-r--r--gnu/packages/tex.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 9ee6b6c1aa..0c85a270f3 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6267,6 +6267,47 @@ It has rules for handling most of the common macros, and can provide
colour-coded output showing which parts of the text have been counted.")
(license license:lppl)))
+(define-public texlive-texdef
+ (package
+ (name "texlive-texdef")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/support/texdef/" "scripts/texdef/"
+ "source/support/texdef/")
+ (base32
+ "0jkc6c4nvzp228d7dcmp0gv2q5qassjq1p40fz4pmbxiyias7zw3")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (arguments
+ (list
+ #:link-scripts #~(list "texdef.pl")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'link-scripts 'add-symlink
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ (symlink "texdef" "latexdef")))))))
+ (inputs (list perl))
+ (home-page "https://ctan.org/pkg/texdef")
+ (synopsis "Display the definitions of TeX commands")
+ (description
+ "This (Perl) script displays the definitions of (La)TeX command
+sequences/macros. Various options allow the selection of the used class as
+well as package files and other factors that may influence the
+definition (before/after the preamble, inside an environment, ...). The
+script creates a temporary TeX file which is then compiled using (La)TeX to
+find the @code{\\meaning} of the command sequence. The result is formatted
+and presented to the user. Length or number command sequences (dimensions,
+@code{\\char}..., count registers, ...) are recognized and the contained
+value is also shown (using @code{\\the}). Special definitions like protected
+macros are also recognized and the underlying macros are shown as well. The
+script will show plain TeX definitions by default. LaTeX and ConTeXt are
+supported, including flavours (pdf(La)TeX, Lua(La)TeX, Xe(La)TeX, ...). The
+flavour can be selected using a command line option, or via the script name:
+@command{latexdef} will use LaTeX as default, etc.")
+ (license license:gpl3)))
+
(define-public texlive-texdraw
(package
(name "texlive-texdraw")