diff options
author | Karl Berry <karl@freefriends.org> | 2018-03-14 21:13:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-03-14 21:13:06 +0000 |
commit | 7ddb36376cada699f0a26f00ace2e15809fca57a (patch) | |
tree | ec2164364a3a2ee1c9ca9b8edfad298e23e8f56b /Master | |
parent | bbbf26ea31647d52447620ba586a4ff4ebee90fa (diff) |
intopdf (14mar18)
git-svn-id: svn://tug.org/texlive/trunk@46963 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/intopdf/README.md | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/intopdf/intopdf.pdf | bin | 0 -> 406018 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/intopdf/intopdf.dtx | 167 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/intopdf/intopdf.sty | 94 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/intopdf.tlpsrc | 0 |
8 files changed, 270 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/intopdf/README.md b/Master/texmf-dist/doc/latex/intopdf/README.md new file mode 100644 index 00000000000..94013182f1e --- /dev/null +++ b/Master/texmf-dist/doc/latex/intopdf/README.md @@ -0,0 +1,6 @@ +# intopdf [![CTAN](https://img.shields.io/badge/CTAN-intopdf-blue.svg?style=flat-square)](https://ctan.org/pkg/intopdf) + +> This package allows to embed non-PDF files (e.g., BibTex) into PDF with hyperlink. + +To install, you can run `tex intopdf.dtx` and copy the generated file `intopdf.sty` to a directory in the search path of your TeX installation. +For quick evaluation, you can also rename `intopdf.dtx` to `intopdf.sty` and use that file directly. diff --git a/Master/texmf-dist/doc/latex/intopdf/intopdf.pdf b/Master/texmf-dist/doc/latex/intopdf/intopdf.pdf Binary files differnew file mode 100644 index 00000000000..e8e3e54dca1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/intopdf/intopdf.pdf diff --git a/Master/texmf-dist/source/latex/intopdf/intopdf.dtx b/Master/texmf-dist/source/latex/intopdf/intopdf.dtx new file mode 100644 index 00000000000..e60f637fb1b --- /dev/null +++ b/Master/texmf-dist/source/latex/intopdf/intopdf.dtx @@ -0,0 +1,167 @@ +% \iffalse meta-comment +% +%% Copyright (C) 2018 by Marcel Krueger +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +% +%<*batch> +%<*gobble> +\ifx\jobname\relax\let\documentclass\undefined\fi +\ifx\documentclass\undefined +\csname fi\endcsname +%</gobble> +\input l3docstrip.tex +\keepsilent +\preamble +\endpreamble +\generate{\file{intopdf.sty}{\from{intopdf.dtx}{package}}} +\endbatchfile +%</batch> +%<*gobble> +\fi +\expandafter\ifx\csname @currname\endcsname\empty +\csname fi\endcsname +%</gobble> +%<*driver> +\documentclass[full]{l3doc} +\usepackage{intopdf,metalogo} +\begin{document} +\DocInput{intopdf.dtx} +\PrintIndex +\PrintChanges +\end{document} +%</driver> +%<*gobble> +\fi +%</gobble> +% \fi +% +% \GetFileInfo{intopdf.dtx} +% \title{The \pkg{intopdf} package\thanks{This document +% corresponds to \pkg{intopdf}~0.0.1, dated~2018/03/13.}} +% \author{Marcel Kr\"uger \\ \href{mailto:tex@2krueger.de}{tex@2krueger.de}} +% +% \maketitle +% +% \begin{documentation} +% This package defines a command \cmd\attachandlink{} which allows to attach an arbitrary file to your PDF document and linking to it from the main text. +% It is inspired by the \TeX Stack Exchange question \href{https://tex.stackexchange.com/questions/418606/embed-non-pdf-files-e-g-bibtex-into-pdf-with-hyperlink-in-the-pdf/418827#418827}{Embed non-PDF files (e.g., BibTex) into PDF with hyperlink in the PDF}. Currently only pdf\LaTeX\ is supported, \LuaLaTeX\ support will follow. +% +% \section{Usage} +% \begin{function}{\attachandlink} +% \begin{syntax} +% |\attachandlink| \Arg{filename}[\meta{mime-type}]\Arg{Description}\Arg{link text} +% \end{syntax} +% The text \meta{link text} is inserted, linking to the file \meta{filename} which is attached to the document. +% +% \meta{Description} should be a description of the file and will be shown by the PDF viewer in the atttached files section and sometimes in a mouseover tooltip.\\ +% \meta{mime-type} should be the MIME-Type of \meta{filename}. Currently \meta{mime-type} is mandatory but I hope to make it optional in a later release. +% \end{function} +% \section{Example} +% The source of the document is attached +% \attachandlink{intopdf.dtx}[application/x-tex] +% {The source of this document}{here}. +% \begin{verbatim} +% The source of the document is attached +% \attachandlink{intopdf.dtx}[application/x-tex] +% {The source of this document}{here}. +% \end{verbatim} +% \end{documentation} +% \begin{implementation} +% \section{The implementation} +% \begin{macrocode} +%<@@=intopdf> +% \end{macrocode} +% \iffalse +%<*package> +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\ProvidesExplPackage + {intopdf} + {2018/03/13} + {0.0.1} + {Embed non-PDF files into PDF with hyperlink} + +\RequirePackage{hyperref} +%</package> +% \fi +% First some wrappers for the \pdfTeX primitives are defined. +% \begin{macrocode} +\cs_new_eq:NN\__intopdf_escape_name:n\pdfescapename +\cs_new_eq:NN\__intopdf_escape_string:n\pdfescapestring +\cs_new:Nn\__intopdf_pdfobj:n{ + \tex_immediate:D\pdftex_pdfobj:D{<<#1>>} +} +\cs_new:Nn\__intopdf_pdfstream_file:nn{ + \tex_immediate:D\pdftex_pdfobj:D stream attr {#1} file {#2} +} +\cs_new:Nn\__intopdf_lastobj_ref:{ + \c_space_tl + \int_use:N\pdftex_pdflastobj:D + \c_space_tl + 0 + \c_space_tl + R +} +\cs_new:Npn\__intopdf_annot:nnw#1#2{ + \leavevmode + \pdftex_pdfstartlink:D attr{#1} user {#2} +} +\cs_new:Nn\__intopdf_annot_end:{ + \pdftex_pdfendlink:D +} +\cs_new:Nn\__intopdf_annot:nnn{ + \__intopdf_annot:nnw{#1}{#2} + #3 + \__intopdf_annot_end: +} +% \end{macrocode} +% \begin{macro}{\intopdf_attach_link:nnnn,\attachandlink} +% The main functionality. +% \begin{macrocode} +\cs_new_protected:Nn\intopdf_attach_link:nnnn{ + \__intopdf_pdfstream_file:nn{ + /Subtype /\__intopdf_escape_name:n{#2} + }{#1} + \__intopdf_pdfobj:n{ + /Type /Filespec + /F (\__intopdf_escape_string:n{#1}) + /EF << /F \__intopdf_lastobj_ref: >> + /Desc (\__intopdf_escape_string:n{#3}) + }% + \__intopdf_annot:nnn{ + \Hy@setpdfborder + \tl_if_empty:NF\@pdfhighlight{ + /H\@pdfhighlight + } + \cs_if_free:NF\@urlbordercolor{ + /C[\@urlbordercolor] + } + }{ + /Subtype /Link + }{ + \__intopdf_annot:nnn{}{ + /Subtype /FileAttachment + /FS \__intopdf_lastobj_ref: + /F\c_space_tl 416 + /CA\c_space_tl 0 + /Contents (\__intopdf_escape_string:n{#3}) + }{ + #4 + } + } +} +\cs_new_protected:Npn\attachandlink#1[#2]#3#4{ + \intopdf_attach_link:nnnn{#1}{#2}{#3}{#4} +} +% \end{macrocode} +% \end{macro} +% \end{implementation} diff --git a/Master/texmf-dist/tex/latex/intopdf/intopdf.sty b/Master/texmf-dist/tex/latex/intopdf/intopdf.sty new file mode 100644 index 00000000000..40214d20e89 --- /dev/null +++ b/Master/texmf-dist/tex/latex/intopdf/intopdf.sty @@ -0,0 +1,94 @@ +%% +%% This is file `intopdf.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% intopdf.dtx (with options: `package') +%% +%% Copyright (C) 2018 by Marcel Krueger +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\ProvidesExplPackage + {intopdf} + {2018/03/13} + {0.0.1} + {Embed non-PDF files into PDF with hyperlink} + +\RequirePackage{hyperref} +\cs_new_eq:NN\__intopdf_escape_name:n\pdfescapename +\cs_new_eq:NN\__intopdf_escape_string:n\pdfescapestring +\cs_new:Nn\__intopdf_pdfobj:n{ + \tex_immediate:D\pdftex_pdfobj:D{<<#1>>} +} +\cs_new:Nn\__intopdf_pdfstream_file:nn{ + \tex_immediate:D\pdftex_pdfobj:D stream attr {#1} file {#2} +} +\cs_new:Nn\__intopdf_lastobj_ref:{ + \c_space_tl + \int_use:N\pdftex_pdflastobj:D + \c_space_tl + 0 + \c_space_tl + R +} +\cs_new:Npn\__intopdf_annot:nnw#1#2{ + \leavevmode + \pdftex_pdfstartlink:D attr{#1} user {#2} +} +\cs_new:Nn\__intopdf_annot_end:{ + \pdftex_pdfendlink:D +} +\cs_new:Nn\__intopdf_annot:nnn{ + \__intopdf_annot:nnw{#1}{#2} + #3 + \__intopdf_annot_end: +} +\cs_new_protected:Nn\intopdf_attach_link:nnnn{ + \__intopdf_pdfstream_file:nn{ + /Subtype /\__intopdf_escape_name:n{#2} + }{#1} + \__intopdf_pdfobj:n{ + /Type /Filespec + /F (\__intopdf_escape_string:n{#1}) + /EF << /F \__intopdf_lastobj_ref: >> + /Desc (\__intopdf_escape_string:n{#3}) + }% + \__intopdf_annot:nnn{ + \Hy@setpdfborder + \tl_if_empty:NF\@pdfhighlight{ + /H\@pdfhighlight + } + \cs_if_free:NF\@urlbordercolor{ + /C[\@urlbordercolor] + } + }{ + /Subtype /Link + }{ + \__intopdf_annot:nnn{}{ + /Subtype /FileAttachment + /FS \__intopdf_lastobj_ref: + /F\c_space_tl 416 + /CA\c_space_tl 0 + /Contents (\__intopdf_escape_string:n{#3}) + }{ + #4 + } + } +} +\cs_new_protected:Npn\attachandlink#1[#2]#3#4{ + \intopdf_attach_link:nnnn{#1}{#2}{#3}{#4} +} +\endinput +%% +%% End of file `intopdf.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index b67601860d0..7a0157bebf3 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -336,7 +336,7 @@ my @TLP_working = qw( imfellenglish impnattypo import imsproc imtekda incgraph inconsolata index indextools initials inlinebib inlinedef inputtrc insbox installfont - interactiveworkbook interchar interfaces interpreter interval + interactiveworkbook interchar interfaces interpreter interval intopdf intro-scientific inversepath invoice invoice2 ionumbers iopart-num ipaex ipaex-type1 iscram iso diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 11087d6d091..ef43b9d6089 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2504,6 +2504,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'halloweenmath' => 'latex', # requires interaction 'hf-tikz' => 'tex', 'hrlatex' => 'latex', # requires interaction + 'intopdf', => 'tex', 'isodoc' => 'luatex', 'japanese' => 'platex', 'kdgdocs' => 'latex', # requires interaction diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index ad44eb9c106..657b61dc231 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -549,6 +549,7 @@ depend inlinedef depend inputtrc depend interactiveworkbook depend interfaces +depend intopdf depend inversepath depend invoice depend invoice2 diff --git a/Master/tlpkg/tlpsrc/intopdf.tlpsrc b/Master/tlpkg/tlpsrc/intopdf.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/intopdf.tlpsrc |