From a429edf534c5a39d3dc3112b4ef98d0c2cfb9e76 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 10 Jul 2021 03:00:58 +0000 Subject: CTAN sync 202107100300 --- macros/latex/contrib/texsurgery/README.md | 27 ++++ macros/latex/contrib/texsurgery/texsurgery.pdf | Bin 0 -> 135676 bytes macros/latex/contrib/texsurgery/texsurgery.sty | 166 +++++++++++++++++++++++++ 3 files changed, 193 insertions(+) create mode 100644 macros/latex/contrib/texsurgery/README.md create mode 100644 macros/latex/contrib/texsurgery/texsurgery.pdf create mode 100644 macros/latex/contrib/texsurgery/texsurgery.sty (limited to 'macros/latex/contrib/texsurgery') diff --git a/macros/latex/contrib/texsurgery/README.md b/macros/latex/contrib/texsurgery/README.md new file mode 100644 index 0000000000..0e5b0ff106 --- /dev/null +++ b/macros/latex/contrib/texsurgery/README.md @@ -0,0 +1,27 @@ +# TexSurgery + +This tex package is a companion to the `texsurgery` `python` project: + +[https://framagit.org/pang/texsurgery](https://framagit.org/pang/texsurgery) + +This `LaTeX` library will make sure that + +`pdflatex document.tex` + +will work, with reasonable defaults, for a document that is intended to work with `texsurgery`, and also has other uses, always in tandem with the `texsurgery` `pypi` package. + +However, remember that `texsurgery` is a `python` project whose main focus is on __evaluating code inside a `jupyter` kernel__, and this is _only_ achieved by installing the `python` package and calling the `texsurgery` command + +`texsurgery -pdf document.tex` + +## License + +The `texsurgery` `CTAN` package follows a [BSD license])(https://opensource.org/licenses/BSD-3-Clause), the same license as the `texsurgery` `python` project: + +[https://framagit.org/pang/texsurgery/-/blob/master/LICENSE](https://framagit.org/pang/texsurgery/-/blob/master/LICENSE) + +## texsurgery.pdf + +The file `texsurgery.pdf` in the texsurgery CTAN LaTeX package was generated with the command + +`pandoc README.md -o texsurgery.pdf` diff --git a/macros/latex/contrib/texsurgery/texsurgery.pdf b/macros/latex/contrib/texsurgery/texsurgery.pdf new file mode 100644 index 0000000000..b5e8da0f14 Binary files /dev/null and b/macros/latex/contrib/texsurgery/texsurgery.pdf differ diff --git a/macros/latex/contrib/texsurgery/texsurgery.sty b/macros/latex/contrib/texsurgery/texsurgery.sty new file mode 100644 index 0000000000..698ce7a406 --- /dev/null +++ b/macros/latex/contrib/texsurgery/texsurgery.sty @@ -0,0 +1,166 @@ +% TeXsurgery v 0.6.0 +% +% This tex package is a companion to the `texsurgery` `python` project: +% +% https://framagit.org/pang/texsurgery +% +% This `LaTeX` library will make sure that +% +% `pdflatex document.tex` +% +% will work, with reasonable defaults, for a document that is intended to work with `texsurgery`, and also has other uses, always in tandem with the `texsurgery` `pypi` package. +% +% However, remember that `texsurgery` is a `python` project whose main focus is on __evaluating code inside a `jupyter` kernel__, and this is _only_ achieved by installing the `python` package and calling the `texsurgery` command +% +% `texsurgery -pdf document.tex` +% +% Both the texsurgery python package and the TexSurgery CTAN package are distributed under a BSD license. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{texsurgery}[2021/07/09 TeXsurgery package v0.6.0] + +\RequirePackage{verbatim} +\RequirePackage{listings} +\RequirePackage{xcolor} +\RequirePackage{environ} +\RequirePackage{hyperref} + +% \RequirePackage{imakeidx} +% \RequirePackage{xstring} +% \RequirePackage{xcolor} +% \definecolor{greycolour}{HTML}{525252} +% \definecolor{sharelatexcolour}{HTML}{882B21} +% \definecolor{mybluecolour}{HTML}{394773} +% \newcommand{\wordcolour}{greycolour} + +% \DeclareOption{red}{\renewcommand{\wordcolour}{sharelatexcolour}} +% \DeclareOption{blue}{\renewcommand{\wordcolour}{mybluecolour}} + + +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} + +\lstdefinestyle{TSstyle}{ + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle=\ttfamily, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2 +} +\lstalias{python}{Python} +\lstalias{sage}{Python} +% \lstset{style=TSstyle} + + +% Counters +\newcounter{TSeval} +\newcounter{TSrun} +\newcounter{TSrunsilent} + +% Boolean Options +\newif\if@showcode +\@showcodefalse +\newif\if@noinstructions +\@noinstructionsfalse + + +\DeclareOption*{% + \lstalias{\CurrentOption}{Python} %sets Python highlight code as highlight by default for unrecognized kernels. + \PackageWarningNoLine{texsurgery}{‘\CurrentOption’ declared as a jupyter kernel}% + } +\DeclareOption{showcode} {% + \@showcodetrue +}% +\DeclareOption{noinstructions} {% + \@noinstructionstrue +} +\ProcessOptions\relax + + + +%% Instructions warning +\if@noinstructions + % +\else + \AtBeginDocument{ + \fbox{ + \begin{minipage}{0.9\linewidth} + WARNING: TexSurgery is NOT intended to be a LaTeX package to show your code, but instead a Python module who replaces some commands and environments within a TeX document by evaluating code inside a jupyter kernel. +\\ % + In order to achieve this goal, it is not enough to install the texsurgery LaTeX package and run \texttt{pdflatex document.tex}. + You must % + \begin{center} + \texttt{pip install texsurgery} + \end{center} + and the jupyter kernel for the language that you intend to use, and use the command \texttt{texsurgery document.tex}. + \\% + More info: \url{https://framagit.org/pang/texsurgery}. + \end{minipage} + } + \vspace{1cm}% + \\ + } + \PackageWarningNoLine{texsurgery}{% +########## + WARNING: TexSurgery is NOT intended to be a LaTeX package to show your code, but instead a Python module who replaces some commands and environments within a TeX document by evaluating code inside a jupyter kernel. +% + In order to achieve this goal, it is not enough to install the texsurgery LaTeX package. + You must `pip install texsurgery` and the jupyter kernel for the language that you intend to use. +% + More info: https://framagit.org/pang/texsurgery. +########## + }% +\fi + +%% SHOWCODE +\if@showcode + \lstnewenvironment{run}[1][python]{% + \refstepcounter{TSrun}% + \lstset{language=#1, style=TSstyle, frame=single, title={\tt runblock\theTSrun.#1}}% + \medskip% + }{} + \lstnewenvironment{runsilent}[1][python]{% + \refstepcounter{TSrunsilent}% + \lstset{language=#1, style=TSstyle, frame=single, title={\tt runsilentblock\theTSrunsilent.#1}}% + \medskip% + }{} + \newcommand{\lstinlinesafe}{\lstinline[style=TSstyle]} + \newcommand{\eval}[2][]{{\hbox{\lstinlinesafe{#2}}}} +% \newcommand{\eval}[2][python]{% +% \refstepcounter{TSeval}% +% {\hbox{\lstinlinesafe[language=#1]{#2}}} +% }% + \newcommand{\sage}[1]{% + \eval{#1}% + }% +\else + \NewEnviron{run}[1][python]{% + \refstepcounter{TSrun}% + \begin{center}\fbox{\ttfamily runblock\theTSrun.#1}\end{center}% + }% + \NewEnviron{runsilent}[1][python]{% + \refstepcounter{TSrunsilent}% + \begin{center}\fbox{\ttfamily runsilentblock\theTSrunsilent.#1}\end{center}% + }% + \newcommand{\eval}[2][python]{% + \refstepcounter{TSeval}% + \hbox{\fbox{\ttfamily evalcode\theTSeval.#1}}% + }% + \newcommand{\sage}[1]{% + \refstepcounter{TSeval}% + \eval[sagemath]{#1}% + }% +\fi -- cgit v1.2.3