diff options
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r-- | gnu/packages/tex.scm | 922 |
1 files changed, 913 insertions, 9 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index f4b6596e9d..3b9fb275fc 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -634,6 +634,114 @@ class), line and circle fonts (for use in the picture environment) and LaTeX symbol fonts.") (license license:lppl1.2+))) +(define-public texlive-fonts-amsfonts + (package + (name "texlive-fonts-amsfonts") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/fonts/source/public/amsfonts")) + (revision %texlive-revision))) + (sha256 + (base32 + "07h20rvpbdb4k72hzmjkyb29426zr9wxsfp6yd4ajbbpd3vx8grb")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((mf (assoc-ref inputs "texlive-metafont-base")) + (cwd (getcwd))) + ;; Tell mf where to find mf.base + (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c")) + ;; Tell mf where to look for source files + (setenv "MFINPUTS" + (string-append cwd ":" + cwd "/cmextra:" + cwd "/cyrillic:" + cwd "/dummy:" + cwd "/symbols:" + mf "/share/texmf-dist/metafont/base:" + (assoc-ref inputs "texlive-fonts-cm") + "/share/texmf-dist/fonts/source/public/cm"))) + (mkdir "build") + (every (lambda (font) + (format #t "building font ~a\n" (basename font ".mf")) + (with-directory-excursion (dirname font) + (zero? (system* "mf" "-progname=mf" + "-output-directory=../build" + (string-append "\\" + "mode:=ljfour; " + "mag:=1; " + "nonstopmode; " + "input " + (getcwd) "/" + (basename font ".mf")))))) + (find-files "." "[0-9]+\\.mf$")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tfm (string-append + out "/share/texmf-dist/fonts/tfm/public/amsfonts")) + (mf (string-append + out "/share/texmf-dist/fonts/source/public/amsfonts"))) + (for-each (cut install-file <> tfm) + (find-files "build" "\\.*")) + (for-each (cut install-file <> mf) + (find-files "." "\\.mf")) + #t)))))) + (native-inputs + `(("texlive-fonts-cm" ,texlive-fonts-cm) + ("texlive-metafont-base" ,texlive-metafont-base) + ("texlive-bin" ,texlive-bin))) + (home-page "http://www.ctan.org/pkg/amsfonts") + (synopsis "TeX fonts from the American Mathematical Society") + (description + "This package provides an extended set of fonts for use in mathematics, +including: extra mathematical symbols; blackboard bold letters (uppercase +only); fraktur letters; subscript sizes of bold math italic and bold Greek +letters; subscript sizes of large symbols such as sum and product; added sizes +of the Computer Modern small caps font; cyrillic fonts (from the University of +Washington); Euler mathematical fonts. All fonts are provided as Adobe Type 1 +files, and all except the Euler fonts are provided as Metafont source. The +distribution also includes the canonical Type 1 versions of the Computer +Modern family of fonts. The Euler fonts are supported by separate packages; +details can be found in the documentation.") + (license license:silofl1.1))) + +(define-public texlive-latex-amsfonts + (package + (name "texlive-latex-amsfonts") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "amsfonts")) + (sha256 + (base32 + "0slzfv5h2m03b2xvm2sasznz4azh6rgi069z161dja3l8rln79hm")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/amsfonts")) + (native-inputs + `(("texlive-fonts-cm" ,texlive-fonts-cm) + ("texlive-metafont-base" ,texlive-metafont-base))) + (home-page "http://www.ctan.org/pkg/amsfonts") + (synopsis "TeX fonts from the American Mathematical Society") + (description + "This package provides basic LaTeX support for the symbol fonts provides +by the amsfonts package. It provides @code{amsfonts.sty}, with names of +individual symbols defined in @code{amssymb.sty}.") + (license license:silofl1.1))) + ;; This provides etex.src which is needed to build various formats, including ;; luatex.fmt and pdflatex.fmt (define-public texlive-tex-plain @@ -743,25 +851,28 @@ book).") ;; leading asterisk). We should not use luatex here, ;; because that would make the generated format files ;; incompatible with any other TeX engine. - - ;; FIXME: XeTeX fails to build because neither - ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are - ;; defined. (every (lambda (format) (zero? (system* "latex" "-ini" "-interaction=batchmode" "-output-directory=web2c" "-translate-file=cp227.tcx" (string-append "*" format ".ini")))) - '("latex" ;"xetex" + '("latex" "pdflatex" "pdfetex")) (every (lambda (format) + (zero? (system* format "-ini" "-interaction=batchmode" + "-output-directory=web2c" + (string-append "*" format ".ini")))) + '("xetex" + "xelatex")) + (every + (lambda (format) (zero? (system* "luatex" "-ini" "-interaction=batchmode" "-output-directory=web2c" (string-append format ".ini")))) - '("dviluatex" "dvilualatex" "luatex" "lualatex" "xelatex"))))) + '("dviluatex" "dvilualatex" "luatex" "lualatex"))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -860,9 +971,45 @@ overwrite existing files and letting you use @code{filecontents} / (description "This is a simple package which provides an @code{\\ifxetex} conditional, so that other code can determine that it is running under XeTeX. The package -requires the etexe-TeX extensions to the TeX primitive set.") +requires the e-TeX extensions to the TeX primitive set.") (license license:lppl1.3c+))) +(define-public texlive-generic-epsf + (package + (name "texlive-generic-epsf") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/generic/epsf")) + (revision %texlive-revision))) + (sha256 + (base32 + "14w3j81ympyvg8hkk9i1xgr8a0gfnfsb2ki8qqsk5pa051za1xcy")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/generic/epfs"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/epsf") + (synopsis "Simple macros for EPS inclusion") + (description + "This package provides the original (and now obsolescent) graphics +inclusion macros for use with dvips, still widely used by Plain TeX users (in +particular). For LaTeX users, the package is nowadays (rather strongly) +deprecated in favour of the more sophisticated standard LaTeX latex-graphics +bundle of packages. (The latex-graphics bundle is also available to Plain TeX +users, via its Plain TeX version.)") + (license license:public-domain))) + (define-public texlive-latex-fancyvrb (package (name "texlive-latex-fancyvrb") @@ -1019,13 +1166,14 @@ nameref packages, which make use of the facilities of hyperref.") (build-system texlive-build-system) (arguments '(#:tex-directory "latex/oberdiek" + #:build-targets '("oberdiek.ins") #:phases (modify-phases %standard-phases - ;; "ifpdf.ins" is not generated, so we cannot process it. + ;; "ifpdf.ins" is not generated, so we need to process the dtx file. (add-after 'unpack 'do-not-process-ifpdf.ins (lambda _ (substitute* "oberdiek.ins" - (("\\\\batchinput\\{ifpdf.ins\\}") "")) + (("ifpdf.ins") "ifpdf.dtx")) #t))))) (home-page "http://www.ctan.org/pkg/oberdiek") (synopsis "Bundle of packages submitted by Heiko Oberdiek") @@ -1579,6 +1727,762 @@ other programs in the distribution offer online interactive use (with hypertext linkages in some cases).") (license license:gpl3+))) +(define-public texlive-latex-anysize + (package + (name "texlive-latex-anysize") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/anysize")) + (revision %texlive-revision))) + (sha256 + (base32 + "19khwqjlvznc955sijhww3c4zbb0053rvzwv9nz738qknq7y18vb")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/anysize"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/anysize") + (synopsis "Simple package to set up document margins") + (description + "This is a simple package to set up document margins. This package is +considered obsolete; alternatives are the @code{typearea} package from the +@code{koma-script} bundle, or the @code{geometry} package.") + (license license:public-domain))) + +(define-public texlive-latex-appendix + (package + (name "texlive-latex-appendix") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "appendix")) + (sha256 + (base32 + "0rxfpr8vq3brwx5rc7qn91ixlp9zva4zrms8a579fqa1g5yva7vg")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/appendix")) + (home-page "http://www.ctan.org/pkg/appendix") + (synopsis "Extra control of appendices") + (description + "The appendix package provides various ways of formatting the titles of +appendices. Also (sub)appendices environments are provided that can be used, +for example, for per chapter/section appendices. An @code{appendices} +environment is provided which can be used instead of the @code{\\appendix} +command.") + (license license:lppl))) + +(define-public texlive-latex-changebar + (package + (name "texlive-latex-changebar") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "changebar")) + (sha256 + (base32 + "1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/changebar")) + (home-page "http://www.ctan.org/pkg/changebar") + (synopsis "Generate changebars in LaTeX documents") + (description + "Identify areas of text to be marked with changebars with the +@code{\\cbstart} and @code{\\cbend} commands; the bars may be coloured. The +package uses 'drivers' to place the bars; the available drivers can work with +@code{dvitoln03}, @code{dvitops}, @code{dvips}, the emTeX and TeXtures DVI +drivers, and VTeX and pdfTeX.") + (license license:lppl))) + +(define-public texlive-latex-colortbl + (package + (name "texlive-latex-colortbl") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "colortbl")) + (sha256 + (base32 + "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/colortbl")) + (home-page "http://www.ctan.org/pkg/colortbl") + (synopsis "Add colour to LaTeX tables") + (description + "This package allows rows, columns, and even individual cells in LaTeX +tables to be coloured.") + (license license:lppl))) + +(define-public texlive-latex-fancybox + (package + (name "texlive-latex-fancybox") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/fancybox")) + (revision %texlive-revision))) + (sha256 + (base32 + "0smmnaad2q8qwicay1frri990lv65l0k8cwzsvdsyp3jk8kp042w")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/fancybox"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/fancybox") + (synopsis "Variants of \\fbox and other games with boxes") + (description + "This package provides variants of @code{\\fbox}: @code{\\shadowbox}, +@code{\\doublebox}, @code{\\ovalbox}, @code{\\Ovalbox}, with helpful tools for +using box macros and flexible verbatim macros. You can box mathematics, +floats, center, flushleft, and flushright, lists, and pages.") + (license license:lppl1.2+))) + +(define-public texlive-latex-fancyhdr + (package + (name "texlive-latex-fancyhdr") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/fancyhdr")) + (revision %texlive-revision))) + (sha256 + (base32 + "04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/fancyhdr"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/fancyhdr") + (synopsis "Extensive control of page headers and footers in LaTeX2e") + (description + "The package provides extensive facilities, both for constructing headers +and footers, and for controlling their use (for example, at times when LaTeX +would automatically change the heading style in use).") + (license license:lppl))) + +(define-public texlive-latex-fancyvrb + (package + (name "texlive-latex-fancyvrb") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "fancyvrb")) + (sha256 + (base32 + "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv")))) + (build-system texlive-build-system) + (arguments + '(#:build-targets '("fancyvrb.ins") ; fvrb-ex.ins cannot be built + #:tex-directory "latex/fancyvrb")) + (home-page "http://www.ctan.org/pkg/fancyvrb") + (synopsis "Sophisticated verbatim text") + (description + "This package provides tools for flexible handling of verbatim text +including: verbatim commands in footnotes; a variety of verbatim environments +with many parameters; ability to define new customized verbatim environments; +save and restore verbatim text and environments; write and read files in +verbatim mode; build \"example\" environments (showing both result and +verbatim source).") + (license license:lppl1.0+))) + +(define-public texlive-latex-float + (package + (name "texlive-latex-float") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "float")) + (sha256 + (base32 + "0nbl7wylkv22fcdv4p8byhhj575fli6jnqjpkhrkbv8dzwah84nq")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/float")) + (home-page "http://www.ctan.org/pkg/float") + (synopsis "Improved interface for floating objects") + (description + "This package improves the interface for defining floating objects such +as figures and tables. It introduces the boxed float, the ruled float and the +plaintop float. You can define your own floats and improve the behaviour of +the old ones. The package also provides the @code{H} float modifier option of +the obsolete @code{here} package. You can select this as automatic default +with @code{\\floatplacement{figure}{H}}.") + (license license:lppl))) + +(define-public texlive-latex-footmisc + (package + (name "texlive-latex-footmisc") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "footmisc")) + (sha256 + (base32 + "03x61wwql8nh6zrqiiiq3rb0x7m3pn48c606zapy19y21fybwdxs")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/footmisc")) + (home-page "http://www.ctan.org/pkg/footmisc") + (synopsis "Range of footnote options") + (description + "This is a collection of ways to change the typesetting of footnotes. +The package provides means of changing the layout of the footnotes themselves, +a way to number footnotes per page, to make footnotes disappear in a +\"moving\" argument, and to deal with multiple references to footnotes from +the same place. The package also has a range of techniques for labelling +footnotes with symbols rather than numbers.") + (license license:lppl1.3+))) + +(define-public texlive-latex-listings + (package + (name "texlive-latex-listings") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "listings")) + (sha256 + (base32 + "1nsn9wp3wl12b36c0sqrim33lf33cr5wky0h4ncnw8lvqgm7h8wf")))) + (build-system texlive-build-system) + (arguments + '(#:tex-directory "latex/listings" + #:build-targets '("listings.ins"))) + (home-page "http://www.ctan.org/pkg/listings") + (synopsis "Typeset source code listings using LaTeX") + (description + "The package enables the user to typeset programs (programming code) +within LaTeX; the source code is read directly by TeX---no front-end processor +is needed. Keywords, comments and strings can be typeset using different +styles. Support for @code{hyperref} is provided.") + (license license:lppl1.3+))) + +(define-public texlive-latex-jknapltx + (package + (name "texlive-latex-jknapltx") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/jknapltx")) + (revision %texlive-revision))) + (sha256 + (base32 + "0m034x72f2g07icr50gacyxfb9g1lz2rmqh4kqr1qjb421x2kds9")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/jknapltx"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/jknappen") + (synopsis "Miscellaneous packages by Joerg Knappen") + (description + "This package provides miscellaneous macros by Joerg Knappen, including: +represent counters in greek; Maxwell's non-commutative division; +@code{latin1jk}, @code{latin2jk} and @code{latin3jk}, which are +@code{inputenc} definition files that allow verbatim input in the respective +ISO Latin codes; blackboard bold fonts in maths; use of RSFS fonts in maths; +extra alignments for @code{\\parboxes}; swap Roman and Sans fonts; +transliterate semitic languages; patches to make (La)TeX formulae embeddable +in SGML; use maths minus in text as appropriate; simple Young tableaux.") + (license license:gpl2))) + +(define-public texlive-fonts-ec + (package + (name "texlive-fonts-ec") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/fonts/source/jknappen/ec/")) + (revision %texlive-revision))) + (sha256 + (base32 + "12av65fbz9xiashm09c9m1fj1mijxls5xspd7652ry1n5s0nixy4")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((mf (assoc-ref inputs "texlive-metafont-base"))) + ;; Tell mf where to find mf.base + (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c")) + ;; Tell mf where to look for source files + (setenv "MFINPUTS" + (string-append (getcwd) ":" + mf "/share/texmf-dist/metafont/base:" + (assoc-ref inputs "texlive-fonts-cm") + "/share/texmf-dist/fonts/source/public/cm"))) + (mkdir "build") + (every (lambda (font) + (format #t "building font ~a\n" font) + (zero? (system* "mf" "-progname=mf" + "-output-directory=build" + (string-append "\\" + "mode:=ljfour; " + "mag:=1; " + "batchmode; " + "input " (basename font ".mf"))))) + (find-files "." "[0-9]+\\.mf$")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tfm (string-append + out "/share/texmf-dist/fonts/tfm/jknappen/ec")) + (mf (string-append + out "/share/texmf-dist/fonts/source/jknappen/ec"))) + (for-each (cut install-file <> tfm) + (find-files "build" "\\.*")) + (for-each (cut install-file <> mf) + (find-files "." "\\.mf")) + #t)))))) + (native-inputs + `(("texlive-bin" ,texlive-bin) + ("texlive-metafont-base" ,texlive-metafont-base) + ("texlive-fonts-cm" ,texlive-fonts-cm))) + (home-page "http://www.ctan.org/pkg/ec") + (synopsis "Computer modern fonts in T1 and TS1 encodings") + (description + "The EC fonts are European Computer Modern Fonts, supporting the complete +LaTeX T1 encoding defined at the 1990 TUG conference hold at Cork/Ireland. +These fonts are intended to be stable with no changes being made to the tfm +files. The set also contains a Text Companion Symbol font, called @code{tc}, +featuring many useful characters needed in text typesetting, for example +oldstyle digits, currency symbols (including the newly created Euro symbol), +the permille sign, copyright, trade mark and servicemark as well as a copyleft +sign, and many others. Recent releases of LaTeX2e support the EC fonts. The +EC fonts supersede the preliminary version released as the DC fonts. The +fonts are available in (traced) Adobe Type 1 format, as part of the +@code{cm-super} bundle. The other Computer Modern-style T1-encoded Type 1 +set, Latin Modern, is not actually a direct development of the EC set, and +differs from the EC in a number of particulars.") + (license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\ +texlive-2017.1/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) + +(define-public texlive-fonts-rsfs + (package + (name "texlive-fonts-rsfs") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/fonts/source/public/rsfs/")) + (revision %texlive-revision))) + (sha256 + (base32 + "0r12pn02r4a955prcvq0048nifh86ihlcgvw3pppqqvfngv34l5h")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((mf (assoc-ref inputs "texlive-metafont-base"))) + ;; Tell mf where to find mf.base + (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c")) + ;; Tell mf where to look for source files + (setenv "MFINPUTS" + (string-append (getcwd) ":" + mf "/share/texmf-dist/metafont/base:" + (assoc-ref inputs "texlive-fonts-cm") + "/share/texmf-dist/fonts/source/public/cm"))) + (mkdir "build") + (every (lambda (font) + (format #t "building font ~a\n" font) + (zero? (system* "mf" "-progname=mf" + "-output-directory=build" + (string-append "\\" + "mode:=ljfour; " + "mag:=1; " + "batchmode; " + "input " (basename font ".mf"))))) + (find-files "." "[0-9]+\\.mf$")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tfm (string-append + out "/share/texmf-dist/fonts/tfm/public/rsfs")) + (mf (string-append + out "/share/texmf-dist/fonts/source/public/rsfs"))) + (for-each (cut install-file <> tfm) + (find-files "build" "\\.*")) + (for-each (cut install-file <> mf) + (find-files "." "\\.mf")) + #t)))))) + (native-inputs + `(("texlive-bin" ,texlive-bin) + ("texlive-metafont-base" ,texlive-metafont-base) + ("texlive-fonts-cm" ,texlive-fonts-cm))) + (home-page "http://www.ctan.org/pkg/rsfs") + (synopsis "Ralph Smith's Formal Script font") + (description + "The fonts provide uppercase formal script letters for use as symbols in +scientific and mathematical typesetting (in contrast to the informal script +fonts such as that used for the calligraphic symbols in the TeX maths symbol +font). The fonts are provided as Metafont source, and as derived Adobe Type 1 +format. LaTeX support, for using these fonts in mathematics, is available via +one of the packages @code{calrsfs} and @code{mathrsfs}.") + (license (license:fsf-free "http://mirrors.ctan.org/fonts/rsfs/README")))) + +(define-public texlive-latex-eso-pic + (package + (name "texlive-latex-eso-pic") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "eso-pic")) + (sha256 + (base32 + "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/eso-pic")) + (home-page "http://www.ctan.org/pkg/eso-pic") + (synopsis "Add picture commands (or backgrounds) to every page") + (description + "The package adds one or more user commands to LaTeX's @code{shipout} +routine, which may be used to place the output at fixed positions. The +@code{grid} option may be used to find the correct places.") + (license license:lppl1.3+))) + +(define-public texlive-latex-eepic + (package + (name "texlive-latex-eepic") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/eepic")) + (revision %texlive-revision))) + (sha256 + (base32 + "1c68gvh021pvybg07apsd2xhq2ljbg80kq94wh71drdga3c2zqjw")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/eepic"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/eepic") + (synopsis "Extensions to epic and the LaTeX drawing tools") + (description + "Extensions to @code{epic} and the LaTeX picture drawing environment, +include the drawing of lines at any slope, the drawing of circles in any +radii, and the drawing of dotted and dashed lines much faster with much less +TeX memory, and providing several new commands for drawing ellipses, arcs, +splines, and filled circles and ellipses. The package uses @code{tpic} +@code{\\special} commands.") + (license license:public-domain))) + +(define-public texlive-latex-multirow + (package + (name "texlive-latex-multirow") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "multirow")) + (sha256 + (base32 + "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/multirow")) + (home-page "http://www.ctan.org/pkg/multirow") + (synopsis "Create tabular cells spanning multiple rows") + (description + "The package provides tools for creating tabular cells spanning multiple +rows. It has a lot of flexibility, including an option for specifying an +entry at the \"natural\" width of its text.") + (license license:lppl1.3+))) + +(define-public texlive-latex-overpic + (package + (name "texlive-latex-overpic") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/overpic")) + (revision %texlive-revision))) + (sha256 + (base32 + "0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/overpic"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/overpic") + (synopsis "Combine LaTeX commands over included graphics") + (description + "The @code{overpic} environment is a cross between the LaTeX +@code{picture} environment and the @code{\\includegraphics} command of +@code{graphicx}. The resulting picture environment has the same dimensions as +the included graphic. LaTeX commands can be placed on the graphic at defined +positions; a grid for orientation is available.") + (license license:lppl1.0+))) + +(define-public texlive-latex-pdfpages + (package + (name "texlive-latex-pdfpages") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "pdfpages")) + (sha256 + (base32 + "06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/pdfpages")) + (home-page "http://www.ctan.org/pkg/pdfpages") + (synopsis "Include PDF documents in LaTeX") + (description + "This package simplifies the inclusion of external multi-page PDF +documents in LaTeX documents. Pages may be freely selected and it is possible +to put several logical pages onto each sheet of paper. Furthermore a lot of +hypertext features like hyperlinks and article threads are provided. The +package supports pdfTeX (pdfLaTeX) and VTeX. With VTeX it is even possible to +use this package to insert PostScript files, in addition to PDF files.") + (license license:lppl1.3+))) + +(define-public texlive-fonts-stmaryrd + (package + (name "texlive-fonts-stmaryrd") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "fonts" "stmaryrd")) + (sha256 + (base32 + "08pn4ca3vl6qm9l3wm5h5iyjsrg411kkm1yana329xwg2j14s9n6")))) + (build-system texlive-build-system) + (arguments + '(#:tex-directory "latex/stmaryrd" + #:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-ins + (lambda _ + (substitute* "stmaryrd.ins" + (("^%% LaTeX2e.*") "\\input docstrip\n") + (("fontdef\\}\\}" line) + (string-append line "\n\\endbatchfile"))) + #t))))) + (home-page "http://www.ctan.org/pkg/stmaryrd") + (synopsis "St Mary Road symbols for theoretical computer science") + (description + "The fonts were originally distributed as Metafont sources only, but +Adobe Type 1 versions are also now available. Macro support is provided for +use under LaTeX; the package supports the @code{only} option (provided by the +@code{somedefs} package) to restrict what is loaded, for those who don't need +the whole font.") + (license license:lppl))) + +(define-public texlive-latex-subfigure + (package + (name "texlive-latex-subfigure") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "subfigure")) + (sha256 + (base32 + "15spcl5wb7w269qd6y596vp4yi8sa5ppcx8w4z2i9kyp02r3a0yb")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/subfigure")) + (home-page "http://www.ctan.org/pkg/subfigure") + (synopsis "Figures divided into subfigures") + (description + "This (deprecated) package provides support for the manipulation and +reference of small or \"sub\" figures and tables within a single figure or +table environment. It is convenient to use this package when your subfigures +are to be separately captioned, referenced, or are to be included in the +List-of-Figures. A new @code{\\subfigure} command is introduced which can be +used inside a figure environment for each subfigure. An optional first +argument is used as the caption for that subfigure. The package is now +considered obsolete: it was superseded by @code{subfig}, but users may find +the more recent @code{subcaption} package more satisfactory.") + (license license:lppl))) + +(define-public texlive-latex-titlesec + (package + (name "texlive-latex-titlesec") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/tex/latex/titlesec")) + (revision %texlive-revision))) + (sha256 + (base32 + "04nmkhqx6jxcxx9a30zbcd5smxi5fd0cbp132bki7fnvhspnhg21")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/tex/latex/titlesec"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/titlesec") + (synopsis "Select alternative section titles") + (description + "This package provides an interface to sectioning commands for selection +from various title styles, e.g. for marginal titles and to change the font of +all headings with a single command, also providing simple one-step page +styles. It also includes a package to change the page styles when there are +floats in a page. You may assign headers/footers to individual floats, too.") + (license license:lppl))) + +(define-public texlive-latex-lh + (package + (name "texlive-latex-lh") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "lh")) + (sha256 + (base32 + "00gdiwh3sfhh1iimjhpja7lm7k4vzqzql2irgwnpz94qvh25zwi5")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/lh")) + (home-page "http://www.ctan.org/pkg/lh") + (synopsis "Cyrillic fonts that support LaTeX standard encodings") + (description + "The LH fonts address the problem of the wide variety of alphabets that +are written with Cyrillic-style characters. The fonts are the original basis +of the set of T2* and X2 encodings that are now used when LaTeX users need to +write in Cyrillic languages. Macro support in standard LaTeX encodings is +offered through the latex-cyrillic and t2 bundles, and the package itself +offers support for other (more traditional) encodings. The fonts, in the +standard T2* and X2 encodings are available in Adobe Type 1 format, in the +CM-Super family of fonts. The package also offers its own LaTeX support for +OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") + (license license:lppl))) + +(define-public texlive-metapost + (package + (name "texlive-metapost") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "svn://www.tug.org/texlive/tags/" + %texlive-tag "/Master/texmf-dist/" + "/metapost")) + (revision %texlive-revision))) + (sha256 + (base32 + "03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((target (string-append (assoc-ref %outputs "out") + "/share/texmf-dist/metapost"))) + (mkdir-p target) + (copy-recursively (assoc-ref %build-inputs "source") target) + #t)))) + (home-page "http://www.ctan.org/pkg/metapost") + (synopsis "Create scalable illustrations") + (description + "MetaPost uses a language based on that of Metafont to produce precise +technical illustrations. Its output is scalable PostScript or SVG, rather +than the bitmaps Metafont creates.") + (license license:lppl))) + +(define-public texlive-latex-wasysym + (package + (name "texlive-latex-wasysym") + (version (number->string %texlive-revision)) + (source (origin + (method svn-fetch) + (uri (texlive-ref "latex" "wasysym")) + (sha256 + (base32 + "1sgwbfwjjf70g54hh93gsd9jp9nm67w6n74x9d72a56n07jbk5hv")))) + (build-system texlive-build-system) + (arguments '(#:tex-directory "latex/wasysym")) + (home-page "http://www.ctan.org/pkg/wasysym") + (synopsis "LaTeX support file to use the WASY2 fonts") + (description + "The wasy2WASY2 (Waldi Symbol) font by Roland Waldi provides many glyphs +like male and female symbols and astronomical symbols, as well as the complete +lasy font set and other odds and ends. The wasysym package implements an easy +to use interface for these symbols.") + (license license:lppl))) + (define texlive-texmf (package (name "texlive-texmf") |