+
+(define-public texlive-ydoc
+ (let ((template (simple-texlive-package
+ "texlive-ydoc"
+ (list "/doc/latex/ydoc/"
+ "/source/latex/ydoc/")
+ (base32
+ "0ckcpy1b8v1fk3qc8qkxgiag2wc0qzxm6bgksv000m4m1hsi2g8b")
+ #:trivial? #f)))
+ (package
+ (inherit template)
+ (outputs '("out" "doc"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments template)
+ ((#:tex-directory _ #t)
+ "latex/ydoc")
+ ((#:build-targets _ #t)
+ ''("ydoc.dtx"))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "source/latex/ydoc") #t))
+ (add-after 'copy-files 'move-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((share (string-append (assoc-ref outputs "out")
+ "/share/texmf-dist"))
+ (target (string-append share "/tex/generic/ydoc"))
+ (doc (string-append (assoc-ref outputs "doc")
+ "/share/texmf-dist/doc") ))
+ (mkdir-p target)
+ (for-each
+ (lambda (file)
+ (rename-file (string-append share "/tex/latex/ydoc/" file)
+ (string-append target "/" file)))
+ '("ydocincl.tex" "ydocstrip.tex"))
+ (mkdir-p doc)
+ (rename-file (string-append share "/doc") doc)
+ #t)))))))
+ (home-page "http://www.ctan.org/pkg/ydoc")
+ (synopsis "Macros for documentation of LaTeX classes and packages")
+ (description "The package provides macros and environments to document
+LaTeX packages and classes. It is an (as yet unfinished) alternative to the
+@code{ltxdoc} class and the @code{doc} or @code{xdoc} packages. The aim is to
+provide a different layout and more modern styles (using the @code{xcolor},
+@code{hyperref} packages, etc.) This is an alpha release, and should probably
+not (yet) be used with other packages, since the implementation might
+change.")
+ (license license:lppl1.3+))))
+
+(define-public texlive-pstricks
+ (let ((template (simple-texlive-package
+ "texlive-pstricks"
+ (list "/doc/generic/pstricks/"
+ "/dvips/pstricks/"
+ "/tex/generic/pstricks/"
+ "/tex/latex/pstricks/")
+ (base32
+ "0sdxdd0qi4sccw9il7d4s7jivs24pq99cdzfnrf0gkqjb1y8s7cl")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (arguments
+ (substitute-keyword-arguments (package-arguments template)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'reset-gzip-timestamps)))))
+ (home-page "http://www.ctan.org/pkg/pstricks")
+ (synopsis "PostScript macros for TeX")
+ (description "PSTricks offers an extensive collection of macros for
+generating PostScript that is usable with most TeX macro formats, including
+Plain TeX, LaTeX, AMS-TeX, and AMS-LaTeX. Included are macros for colour,
+graphics, pie charts, rotation, trees and overlays. It has many special
+features, including a wide variety of graphics (picture drawing) macros, with
+a flexible interface and with colour support. There are macros for colouring
+or shading the cells of tables.")
+ (license license:lppl1.3+))))
+
+(define-public texlive-pst-text
+ (let ((template (simple-texlive-package
+ "texlive-pst-text"
+ (list "/doc/generic/pst-text/"
+ "/dvips/pst-text/pst-text.pro"
+ "/tex/generic/pst-text/"
+ "/tex/latex/pst-text/")
+ (base32
+ "146fpzd1xlqi94q5r48z8ni8qww713yh6nwkbr9pw27mjrqdadb9")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (propagated-inputs
+ `(("texlive-pstricks" ,texlive-pstricks)))
+ (home-page "http://www.ctan.org/pkg/pst-text")
+ (synopsis "Text and character manipulation in PSTricks")
+ (description "Pst-text is a PSTricks based package for plotting text along
+a different path and manipulating characters. It includes the functionality
+of the old package @code{pst-char}.")
+ (license license:lppl))))
+
+(define-public texlive-marginnote
+ (let ((template (simple-texlive-package
+ "texlive-marginnote"
+ (list "/source/latex/marginnote/marginnote.dtx")
+ (base32
+ "1vj1k8xm11gjdfj60as42d8lsv3dbzrm5dlgqcfk89d9dzm3k39j"))))
+ (package
+ (inherit template)
+ (home-page "http://www.ctan.org/pkg/marginnote")
+ (arguments
+ (substitute-keyword-arguments (package-arguments template)
+ ((#:tex-directory _ '())
+ "latex/marginnote")
+ ((#:build-targets _ '())
+ ''("marginnote.dtx"))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "source/latex/marginnote") #t))))))
+ (synopsis "Notes in the margin")
+ (description "This package provides the command @code{\\marginnote} that
+may be used instead of @code{\\marginpar} at almost every place where
+@code{\\marginpar} cannot be used, e.g., inside floats, footnotes, or in
+frames made with the @code{framed} package.")
+ (license license:lppl1.3c+))))
+
+(define-public texlive-iftex
+ (let ((template (simple-texlive-package
+ "texlive-iftex"
+ (list "/doc/generic/iftex/"
+ "/tex/generic/iftex/iftex.sty")
+ (base32
+ "089zvw31gby150n1k0zdk2c0q97pgbqs46phxydaqil64b55nnl7")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (home-page "http://www.ctan.org/pkg/iftex")
+ (synopsis "Determine the currently used TeX engine")
+ (description "This package, which works both for Plain TeX and for
+LaTeX, defines the @code{\\ifPDFTeX}, @code{\\ifXeTeX}, and @code{\\ifLuaTeX}
+conditionals for testing which engine is being used for typesetting. The
+package also provides the @code{\\RequirePDFTeX}, @code{\\RequireXeTeX}, and
+@code{\\RequireLuaTeX} commands which throw an error if pdfTeX, XeTeX or
+LuaTeX (respectively) is not the engine in use.")
+ (license license:lppl1.3+))))
+
+(define-public texlive-tools
+ (let ((template (simple-texlive-package
+ "texlive-tools"
+ (list "/doc/latex/tools/"
+ "/source/latex/tools/")
+ (base32
+ "1ivhij7171wvrgcjn4wah84wxwpd21d0chh3zxab4pj067c8d0mh"))))
+ (package
+ (inherit template)
+ (arguments
+ (substitute-keyword-arguments (package-arguments template)
+ ((#:tex-directory _ '())
+ "latex/tools")
+ ((#:build-targets _ '())
+ ''("tools.ins"))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "source/latex/tools") #t))))))
+ (home-page "https://www.ctan.org/tex-archive/macros/latex/required/tools/")
+ (synopsis "LaTeX standard tools bundle")
+ (description "This package provides a collection of simple tools that
+are part of the LaTeX required tools distribution, comprising the packages:
+@code{afterpage}, @code{array}, @code{bm}, @code{calc}, @code{dcolumn},
+@code{delarray}, @code{enumerate}, @code{fileerr}, @code{fontsmpl},
+@code{ftnright}, @code{hhline}, @code{indentfirst}, @code{layout},
+@code{longtable}, @code{multicol}, @code{rawfonts}, @code{showkeys},
+@code{somedefs}, @code{tabularx}, @code{theorem}, @code{trace},
+@code{varioref}, @code{verbatim}, @code{xr}, and @code{xspace}.")
+ (license license:lppl1.3+))))
+
+(define-public texlive-latex-xkeyval
+ (package
+ (name "texlive-latex-xkeyval")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "xkeyval"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0wancavix39j240pd8m9cgmwsijwx6jd6n54v8wg0x2rk5m44myp"))))
+ (build-system texlive-build-system)
+ (arguments
+ '(#:tex-directory "latex/xkeyval"
+ #:build-targets '("xkeyval.dtx")
+ #:tex-format "latex" ; won't build with luatex
+ #:phases
+ (modify-phases %standard-phases
+ ;; This package cannot be built out of tree as it expects to find
+ ;; built files in the working directory.
+ (add-before 'build 'fix-build
+ (lambda _
+ (setenv "TEXINPUTS"
+ (string-append (getcwd) "/build:"))
+ (substitute* "xkeyval.dtx"
+ (("usepackage\\{xcolor\\}")
+ "usepackage[dvips]{xcolor}"))
+ #t))
+ ;; FIXME: We don't have a package for this font yet.
+ (add-after 'unpack 'remove-dependency-on-fourier
+ (lambda _
+ (substitute* "xkeyval.dtx"
+ (("\\\\usepackage\\{fourier\\}") ""))
+ #t))
+ (add-after 'install 'move-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/texmf-dist"))
+ (source (string-append share "/tex/latex/xkeyval/"))
+ (target (string-append share "/tex/generic/xkeyval/")))
+ (mkdir-p target)
+ (for-each (lambda (file)
+ (rename-file (string-append source file)
+ (string-append target file)))
+ '("keyval.tex"
+ "pst-xkey.tex"
+ "xkeyval.tex"
+ "xkvex1.tex"
+ "xkvex2.tex"
+ "xkvex3.tex"
+ "xkvex4.tex"
+ "xkvtxhdr.tex"
+ "xkvutils.tex"))
+ #t))))))
+ (native-inputs
+ `(("texlive-latex-base" ,texlive-latex-base)
+ ("texlive-cm" ,texlive-cm)
+ ("texlive-lm" ,texlive-lm)
+ ("texlive-url" ,texlive-url)
+ ("texlive-graphics-def" ,texlive-graphics-def)
+ ("texlive-xcolor" ,texlive-xcolor)
+ ("texlive-latex-footmisc" ,texlive-latex-footmisc)
+ ("texlive-latex-listings" ,texlive-latex-listings)
+ ("texlive-iftex" ,texlive-iftex)
+ ("texlive-pstricks" ,texlive-pstricks)
+ ("texlive-pst-text" ,texlive-pst-text)
+ ("texlive-tools" ,texlive-tools)
+ ("texlive-latex-pgf" ,texlive-latex-pgf)))
+ (home-page "http://www.ctan.org/pkg/xkeyval")
+ (synopsis "Extension of the keyval package")
+ (description
+ "This package is an extension of the keyval package and offers additional
+macros for setting keys and declaring and setting class or package options.
+The package allows the programmer to specify a prefix to the name of the
+macros it defines for keys, and to define families of key definitions; these
+all help use in documents where several packages define their own sets of
+keys.")
+ (license license:lppl1.3+)))
+
+(define-public texlive-standalone
+ (package
+ (name "texlive-standalone")
+ (version (number->string %texlive-revision))
+ (source
+ (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "standalone"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "192ydxcn8ir96q8qwvnppksmqf5i0p50i0wz6iqazbwmh3dqxpx4"))))
+ (build-system texlive-build-system)
+ (arguments '(#:tex-directory "latex/standalone"))
+ (propagated-inputs
+ `(("texlive-latex-xkeyval" ,texlive-latex-xkeyval)))
+ (native-inputs
+ `(("texlive-ydoc" ,texlive-ydoc)))
+ (home-page "http://www.ctan.org/pkg/standalone")
+ (synopsis "Compile TeX pictures stand-alone or as part of a document")
+ (description "A class and package is provided which allows TeX pictures or
+other TeX code to be compiled standalone or as part of a main document.
+Special support for pictures with beamer overlays is also provided. The
+package is used in the main document and skips extra preambles in sub-files.
+The class may be used to simplify the preamble in sub-files. By default the
+@code{preview} package is used to display the typeset code without margins.
+The behaviour in standalone mode may adjusted using a configuration file
+@code{standalone.cfg} to redefine the standalone environment.")
+ (license license:lppl1.3+)))
+
+(define-public texlive-siunitx
+ (package
+ (name "texlive-siunitx")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "/source/latex/siunitx/siunitx.dtx"
+ "/doc/latex/siunitx/README.md")
+ (base32
+ "11kf6znkgw7y5qmw75qk6px6pqf57bwr53q0673zaiyq20lif96c")))
+ (build-system texlive-build-system)
+ (arguments
+ '(#:tex-directory "latex/siunitx"
+ #:build-targets '("siunitx.dtx")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "source/latex/siunitx") #t)))))
+ (propagated-inputs
+ `(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)
+ ("texlive-latex-l3packages" ,texlive-latex-l3packages)))
+ (home-page "http://www.ctan.org/pkg/siunitx")
+ (synopsis "Comprehensive SI units package")
+ (description
+ "Typesetting values with units requires care to ensure that the combined
+mathematical meaning of the value plus unit combination is clear. In
+particular, the SI units system lays down a consistent set of units with rules
+on how they are to be used. However, different countries and publishers have
+differing conventions on the exact appearance of numbers (and units). A
+number of LaTeX packages have been developed to provide consistent application
+of the various rules. The @code{siunitx} package takes the best from the
+existing packages, and adds new features and a consistent interface. A number
+of new ideas have been incorporated, to fill gaps in the existing provision.
+The package also provides backward-compatibility with @code{SIunits},
+@code{sistyle}, @code{unitsdef} and @code{units}. The aim is to have one
+package to handle all of the possible unit-related needs of LaTeX users.")
+ (license license:lppl1.3c)))
+
+(define-public texlive-booktabs
+ (package
+ (name "texlive-booktabs")
+ (version (number->string %texlive-revision))
+ (source
+ (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "booktabs"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1dqid48vgh25wmw8xzmx6x3pfgz1y9f0r8aza1yxq2mjny5yf68x"))))
+ (build-system texlive-build-system)
+ (arguments '(#:tex-directory "latex/booktabs"))
+ (home-page "http://www.ctan.org/pkg/booktabs")
+ (synopsis "Publication quality tables in LaTeX")
+ (description
+ "This package enhances the quality of tables in LaTeX, providing extra
+commands as well as behind-the-scenes optimisation. Guidelines are given as
+to what constitutes a good table in this context. The package offers
+@code{longtable} compatibility.")
+ (license license:lppl1.3+)))
+
+(define-public texlive-csquotes
+ (let ((template (simple-texlive-package
+ "texlive-csquotes"
+ (list "/doc/latex/csquotes/"
+ "/tex/latex/csquotes/")
+ (base32
+ "15hgn37zg433skn7ijqs1kl2z56fhy29cjxn01b5pjrnrkdar4i4")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (propagated-inputs
+ `(("texlive-etoolbox" ,texlive-etoolbox)))
+ (home-page "https://www.ctan.org/pkg/csquotes")
+ (synopsis "Context sensitive quotation facilities")
+ (description "This package provides advanced facilities for inline and
+display quotations. It is designed for a wide range of tasks ranging from the
+most simple applications to the more complex demands of formal quotations.
+The facilities include commands, environments, and user-definable 'smart
+quotes' which dynamically adjust to their context. Quotation marks are
+switched automatically if quotations are nested and they can be adjusted to
+the current language if the babel package is available. There are additional
+facilities designed to cope with the more specific demands of academic
+writing, especially in the humanities and the social sciences. All quote
+styles as well as the optional active quotes are freely configurable.")
+ (license license:lppl1.3c+))))