summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ffcode
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-10-04 03:00:59 +0000
committerNorbert Preining <norbert@preining.info>2022-10-04 03:00:59 +0000
commit30b3429f0e138c93c5f1ba1d1a6d46728c0943e9 (patch)
tree6c15cc0a1c291188deaa6f1c37d469d4e4dd27c7 /macros/latex/contrib/ffcode
parent0ec122c100e39ea118fdb2c4b6223ece8053f439 (diff)
CTAN sync 202210040300
Diffstat (limited to 'macros/latex/contrib/ffcode')
-rw-r--r--macros/latex/contrib/ffcode/DEPENDS.txt2
-rw-r--r--macros/latex/contrib/ffcode/LICENSE.txt21
-rw-r--r--macros/latex/contrib/ffcode/README.md3
-rw-r--r--macros/latex/contrib/ffcode/ffcode.dtx383
-rw-r--r--macros/latex/contrib/ffcode/ffcode.ins55
-rw-r--r--macros/latex/contrib/ffcode/ffcode.pdfbin224529 -> 395644 bytes
-rw-r--r--macros/latex/contrib/ffcode/ffcode.sty100
-rw-r--r--macros/latex/contrib/ffcode/ffcode.tex155
8 files changed, 463 insertions, 256 deletions
diff --git a/macros/latex/contrib/ffcode/DEPENDS.txt b/macros/latex/contrib/ffcode/DEPENDS.txt
index 935840f850..52a46fbc48 100644
--- a/macros/latex/contrib/ffcode/DEPENDS.txt
+++ b/macros/latex/contrib/ffcode/DEPENDS.txt
@@ -1,3 +1,5 @@
hard xkeyval
hard minted
hard tcolorbox
+hard pgf
+hard environ
diff --git a/macros/latex/contrib/ffcode/LICENSE.txt b/macros/latex/contrib/ffcode/LICENSE.txt
new file mode 100644
index 0000000000..bd949ffdab
--- /dev/null
+++ b/macros/latex/contrib/ffcode/LICENSE.txt
@@ -0,0 +1,21 @@
+(The MIT License)
+
+Copyright (c) 2021-2022 Yegor Bugayenko
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the 'Software'), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/macros/latex/contrib/ffcode/README.md b/macros/latex/contrib/ffcode/README.md
index 13e012d767..fe0332ddfe 100644
--- a/macros/latex/contrib/ffcode/README.md
+++ b/macros/latex/contrib/ffcode/README.md
@@ -1,4 +1,5 @@
-[![make](https://github.com/yegor256/ffcode/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/ffcode/actions/workflows/latexmk.yml)
+[![make](https://github.com/yegor256/ffcode/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/ffcode/actions/workflows/l3build.yml)
+[![CTAN](https://img.shields.io/ctan/v/ffcode)](https://ctan.org/pkg/ffcode)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/ffcode/blob/master/LICENSE.txt)
This LaTeX package helps you write source code in your academic papers
diff --git a/macros/latex/contrib/ffcode/ffcode.dtx b/macros/latex/contrib/ffcode/ffcode.dtx
new file mode 100644
index 0000000000..c6d717c7b5
--- /dev/null
+++ b/macros/latex/contrib/ffcode/ffcode.dtx
@@ -0,0 +1,383 @@
+% \iffalse meta-comment
+% (The MIT License)
+%
+% Copyright (c) 2021-2022 Yegor Bugayenko
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the 'Software'), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in all
+% copies or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+% SOFTWARE.
+% \fi
+
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+
+% \GetFileInfo{ffcode.dtx}
+% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment}
+
+% \iffalse
+%<*driver>
+\ProvidesFile{ffcode.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{ffcode}
+%<*package>
+[03.10.2022 0.5.0 Fixed Font Code]
+%</package>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage[tt=false,type1=true]{libertine}
+\usepackage{microtype}
+\usepackage{href-ul}
+\usepackage{ffcode}
+\usepackage{amsmath}
+\usepackage{multicol}
+\usepackage{xcolor}
+\PageIndex
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{ffcode.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+
+% \title{|ffcode|: \LaTeX{} Package \\ for Fixed-Font Code Blocks\thanks{The sources are in GitHub at \href{https://github.com/yegor256/ffcode}{yegor256/ffcode}}}
+% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}}
+% \date{\filedate, \fileversion}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% This package helps you write source code in your articles
+% and make sure it looks nice. Install it from CTAN and then
+% use like this (pay attention to |\ff| command
+% and |ffcode| environment):
+% \begin{multicols}{2}
+% \setlength{\parskip}{0pt}
+% \raggedcolumns
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\documentclass{article}
+\usepackage{ffcode}
+\begin{document}
+The function \ff{fibo()}
+is recursive:
+\begin{ffcode}
+int fibo(int n) {
+ if (n < 2) {
+ return n; |$\label{ln:ret}$|
+ }
+ return fibo(n-1)+fibo(n-2);
+}
+\end{ffcode}
+The line no.~\ref{ln:ret}
+terminates it.
+\end{document}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+%
+% \columnbreak
+%
+% The function \ff{fibo()} is recursive:
+%
+%\iffalse
+%<*verb>
+%\fi
+\begin{ffcode}
+int fibo(int n) {
+ if (n < 2) {
+ return n; |$\label{ln:ret}$|
+ }
+ return fibo(n-1)+fibo(n-2);
+}
+\end{ffcode}
+%\iffalse
+%</verb>
+%\fi
+%
+% The line no.~\ref{ln:ret} terminates it.
+% \end{multicols}
+
+% \section{Package Options}
+
+% \begin{macro}{nopygments}
+% You have to run |pdflatex| with |--shell-escape| flag
+% in order to let |minted| (the package we use) to run Pygments
+% and format the code. If you don't want this to happen,
+% just use |nopygments| option.
+% \end{macro}
+
+% \begin{macro}{noframes}
+% If you want to omit the light gray frames around |\ff|
+% texts, use the package option |noframes|.
+% \end{macro}
+
+% \begin{macro}{nobars}
+% To omit the vertical gray bar at the left side of each snippet,
+% use |nobars| option of the package.
+% \end{macro}
+
+% \begin{macro}{nonumbers}
+% To omit the line numbers, use |nonumbers| option of the package.
+% \end{macro}
+
+% \begin{macro}{nocn}
+% By default, the numbering is continuous: line numbers start at the
+% first snippet and increment until the end of the document. If you
+% want them to start from one at each snippet, use |nocn|
+% (stands for ``no continuous numbering'')
+% option of the package.
+% \end{macro}
+
+% \section{Typesetting}
+
+% By the way, the package correctly formats low-height texts, for example, just
+% a dot: \ff{.}
+
+% A pair of vertical lines decorate a TeX command inside the snippet.
+% If you want to print a single vertical line, use this:
+% \ff{|\char`\\vert|}.
+
+% The command |\ff| behaves differently in math mode --- it doesn't
+% add gray frames:
+% \begin{multicols}{2}
+% \setlength{\parskip}{0pt}
+% \raggedcolumns
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\documentclass{article}
+\usepackage{ffcode}
+\begin{document}
+\begin{equation}
+x = \int_\ff{home}^N f(x).
+\end{equation}
+\end{document}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+%
+% \columnbreak
+%
+%\iffalse
+%<*verb>
+%\fi
+% \begin{equation}
+% x = \int_\ff{home}^N f(x).
+% \end{equation}
+%\iffalse
+%</verb>
+%\fi
+% \end{multicols}
+
+% \section{Line Highlighting}
+
+% You can highlight some lines in your |ffcode| environment,
+% or can use any other additional configuration parameters from
+% |minted| package:
+
+% \begin{multicols}{2}
+% \setlength{\parskip}{0pt}
+% \raggedcolumns
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\documentclass{article}
+\usepackage{ffcode}
+\begin{document}
+\begin{ffcode*}
+ {highlightlines={1,4-5}}
+while (true) {
+ print("Hello!")
+ print("Enter your name:")
+ scan(x)
+ print("You name is " + x)
+}
+\end{ffcode*}
+\end{document}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+%
+% \columnbreak
+%
+%\iffalse
+%<*verb>
+%\fi
+\begin{ffcode*}{highlightlines={7,10-11}}
+while (true) {
+ print("Hello!")
+ print("Enter your name:")
+ scan(x)
+ print("You name is " + x)
+}
+\end{ffcode*}
+%\iffalse
+%</verb>
+%\fi
+% \end{multicols}
+
+% Using this second argument of |ffcode*| (with the trailing asterisk),
+% you can provide any other options from |minted| package to the
+% snippet.
+
+% \StopEventually{}
+
+% \section{Implementation}
+
+% \changes{v0.2.0}{2021/07/10}{Initial version}
+
+% First, we parse package options:
+% \begin{macrocode}
+\RequirePackage{xkeyval}
+\makeatletter
+\DeclareOptionX{nopygments}{\PassOptionsToPackage{draft=true}{minted}}
+\newif\ifff@noframes
+\DeclareOptionX{noframes}{\ff@noframestrue}
+\newif\ifff@nobars
+\DeclareOptionX{nobars}{\ff@nobarstrue}
+\newif\ifff@nonumbers
+\DeclareOptionX{nonumbers}{\ff@nonumberstrue}
+\newif\ifff@nocn
+\DeclareOptionX{nocn}{\ff@nocntrue}
+\ProcessOptionsX\relax
+\makeatother
+% \end{macrocode}
+
+% Then, we configure |minted| package:
+% \begin{macrocode}
+\RequirePackage{minted}
+\setminted{breaklines}
+\setminted{escapeinside=||,mathescape}
+\setminted{highlightcolor=gray!25}
+\usemintedstyle{bw}
+% \end{macrocode}
+
+% \begin{macro}{ffcode}
+% Then, we define |ffcode| environment:
+% \begin{macrocode}
+\makeatletter\ifff@nonumbers
+ \ifff@nobars
+ \newminted[ffcode]{text}{}
+ \else
+ \newminted[ffcode]{text}{framesep=6pt,
+ framerule=1pt,rulecolor=gray,frame=leftline}
+ \fi
+\else
+ \renewcommand{\theFancyVerbLine}{\textcolor{gray}
+ {\tiny\oldstylenums{\ttfamily\arabic{FancyVerbLine}}}}
+ \ifff@nocn
+ \ifff@nobars
+ \newminted[ffcode]{text}{
+ linenos,numbersep=2pt
+ }
+ \else
+ \newminted[ffcode]{text}{
+ framesep=6pt,framerule=1pt,rulecolor=gray,
+ frame=leftline,linenos,numbersep=2pt
+ }
+ \fi
+ \else
+ \ifff@nobars
+ \newminted[ffcode]{text}{
+ firstnumber=last,linenos,numbersep=2pt
+ }
+ \else
+ \newminted[ffcode]{text}{
+ framesep=6pt,framerule=1pt,rulecolor=gray,
+ frame=leftline,firstnumber=last,linenos,numbersep=2pt
+ }
+ \fi
+ \fi
+\fi\makeatother
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\ff@print}
+% Then, we define supplementary commands |\ff@print| and |\ff@printx|:
+% \begin{macrocode}
+\makeatletter
+\newcommand\ff@print{\begingroup\obeyspaces\ff@printx}
+\newcommand\ff@printx[1]{\texttt{#1}\endgroup}
+\makeatother
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\ff@rule}
+% Then, we define supplementary command |\ff@rule|:
+% \begin{macrocode}
+\makeatletter\newcommand\ff@rule
+ {\vrule height 6pt depth 1pt width 0pt}
+\makeatother
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\ff}
+% Finally, we define |\ff| command:
+% \begin{macrocode}
+\makeatletter\ifff@noframes
+ \newcommand\ff[1]{\ff@rule\ff@print{#1}}
+\else
+ \RequirePackage{tcolorbox}
+ \newtcbox\ff@box{nobeforeafter,colframe=gray!80!white,
+ colback=gray!5!white,boxrule=0.1pt,arc=1pt,
+ boxsep=1.2pt,left=0.5pt,right=0.5pt,top=0.2pt,bottom=0.2pt,
+ tcbox raise base}
+ \newcommand\ff[1]{\relax\ifmmode%
+ {\ff@rule\ff@print{#1}}%
+ \else%
+ {\ff@box{\ff@rule\ff@print{#1}}}
+ \fi}
+\fi\makeatother
+% \end{macrocode}
+% \end{macro}
+
+% \Finale
+
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
diff --git a/macros/latex/contrib/ffcode/ffcode.ins b/macros/latex/contrib/ffcode/ffcode.ins
new file mode 100644
index 0000000000..758b0a2a81
--- /dev/null
+++ b/macros/latex/contrib/ffcode/ffcode.ins
@@ -0,0 +1,55 @@
+%% (The MIT License)
+%%
+%% Copyright (c) 2021-2022 Yegor Bugayenko
+%%
+%% Permission is hereby granted, free of charge, to any person obtaining a copy
+%% of this software and associated documentation files (the 'Software'), to deal
+%% in the Software without restriction, including without limitation the rights
+%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+%% copies of the Software, and to permit persons to whom the Software is
+%% furnished to do so, subject to the following conditions:
+%%
+%% The above copyright notice and this permission notice shall be included in all
+%% copies or substantial portions of the Software.
+%%
+%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+%% SOFTWARE.
+
+\input docstrip.tex
+\keepsilent
+\usedir{macros/latex/contrib/ffcode}
+\preamble
+(The MIT License)
+
+Copyright (c) 2021-2022 Yegor Bugayenko
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the 'Software'), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+\endpreamble
+\generate{\file{ffcode.sty}{\from{ffcode.dtx}{package}}}
+\obeyspaces
+\Msg{*** To finish the installation you have to move the ".sty"}
+\Msg{*** file into a directory searched by TeX. To produce the}
+\Msg{*** documentation run the file ".dtx" through LaTeX. If any}
+\Msg{*** questions, submit a new GitHub issue.}
+\endbatchfile
diff --git a/macros/latex/contrib/ffcode/ffcode.pdf b/macros/latex/contrib/ffcode/ffcode.pdf
index 9f63f91545..1533df9d95 100644
--- a/macros/latex/contrib/ffcode/ffcode.pdf
+++ b/macros/latex/contrib/ffcode/ffcode.pdf
Binary files differ
diff --git a/macros/latex/contrib/ffcode/ffcode.sty b/macros/latex/contrib/ffcode/ffcode.sty
deleted file mode 100644
index ee3c25fed7..0000000000
--- a/macros/latex/contrib/ffcode/ffcode.sty
+++ /dev/null
@@ -1,100 +0,0 @@
-% (The MIT License)
-%
-% Copyright (c) 2021-2022 Yegor Bugayenko
-%
-% Permission is hereby granted, free of charge, to any person obtaining a copy
-% of this software and associated documentation files (the 'Software'), to deal
-% in the Software without restriction, including without limitation the rights
-% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-% copies of the Software, and to permit persons to whom the Software is
-% furnished to do so, subject to the following conditions:
-%
-% The above copyright notice and this permission notice shall be included in all
-% copies or substantial portions of the Software.
-%
-% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-% SOFTWARE.
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ffcode}[2022/09/12 0.4.4 Fixed Font Code]
-
-\RequirePackage{xkeyval}
-
-\makeatletter
-\DeclareOptionX{nopygments}{\PassOptionsToPackage{draft=true}{minted}}
-\newif\ifff@noframes
-\DeclareOptionX{noframes}{\ff@noframestrue}
-\newif\ifff@nobars
-\DeclareOptionX{nobars}{\ff@nobarstrue}
-\newif\ifff@nonumbers
-\DeclareOptionX{nonumbers}{\ff@nonumberstrue}
-\newif\ifff@nocn
-\DeclareOptionX{nocn}{\ff@nocntrue}
-\ProcessOptionsX\relax
-\makeatother
-
-\RequirePackage{minted}
-
-\setminted{breaklines}
-\setminted{escapeinside=||,mathescape}
-\setminted{highlightcolor=gray!30}
-\usemintedstyle{bw}
-
-\makeatletter\ifff@nonumbers
- \ifff@nobars
- \newminted[ffcode]{text}{}
- \else
- \newminted[ffcode]{text}{
- framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline
- }
- \fi
-\else
- \renewcommand{\theFancyVerbLine}{\textcolor{gray}{\tiny\oldstylenums{\ttfamily\arabic{FancyVerbLine}}}}
- \ifff@nocn
- \ifff@nobars
- \newminted[ffcode]{text}{
- linenos,numbersep=2pt
- }
- \else
- \newminted[ffcode]{text}{
- framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline,
- linenos,numbersep=2pt
- }
- \fi
- \else
- \ifff@nobars
- \newminted[ffcode]{text}{
- firstnumber=last,linenos,numbersep=2pt
- }
- \else
- \newminted[ffcode]{text}{
- framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline,
- firstnumber=last,linenos,numbersep=2pt
- }
- \fi
- \fi
-\fi\makeatother
-
-\makeatletter
-\newcommand\ff@print{\begingroup\obeyspaces\ff@printx}
-\newcommand\ff@printx[1]{\texttt{#1}\endgroup}
-\makeatother
-
-\makeatletter\newcommand\ff@rule{\vrule height 6pt depth 1pt width 0pt}
-\makeatletter\ifff@noframes
- \newcommand\ff[1]{\ff@rule\ff@print{#1}}
-\else
- \RequirePackage{tcolorbox}
- \newtcbox\ff@box{nobeforeafter,colframe=gray!80!white,
- colback=gray!5!white,boxrule=0.1pt,arc=1pt,
- boxsep=1.2pt,left=0.5pt,right=0.5pt,top=0.2pt,bottom=0.2pt,
- tcbox raise base}
- \newcommand\ff[1]{\relax\ifmmode{\ff@rule\ff@print{#1}}\else{\ff@box{\ff@rule\ff@print{#1}}}\fi}
-\fi\makeatother
-
-\endinput
diff --git a/macros/latex/contrib/ffcode/ffcode.tex b/macros/latex/contrib/ffcode/ffcode.tex
deleted file mode 100644
index 1d73cc21bb..0000000000
--- a/macros/latex/contrib/ffcode/ffcode.tex
+++ /dev/null
@@ -1,155 +0,0 @@
-% (The MIT License)
-%
-% Copyright (c) 2021-2022 Yegor Bugayenko
-%
-% Permission is hereby granted, free of charge, to any person obtaining a copy
-% of this software and associated documentation files (the 'Software'), to deal
-% in the Software without restriction, including without limitation the rights
-% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-% copies of the Software, and to permit persons to whom the Software is
-% furnished to do so, subject to the following conditions:
-%
-% The above copyright notice and this permission notice shall be included in all
-% copies or substantial portions of the Software.
-%
-% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-% SOFTWARE.
-
-\documentclass[12pt]{article}
-\usepackage[T1]{fontenc}
-\usepackage[tt=false,type1=true]{libertine}
-\usepackage{amsmath}
-\usepackage{multicol}
-\usepackage{ffcode}
-\usepackage{xcolor}
-\usepackage{microtype}
-\title{\ff{ffcode}: \LaTeX{} Package \\ for Fixed-Font Code Blocks}
-\author{Yegor Bugayenko}
-\date{0.4.4 2022/09/12}
-\begin{document}
-\pagenumbering{gobble}
-\raggedbottom
-\setlength{\parindent}{0pt}
-\setlength{\columnsep}{32pt}
-\setlength{\parskip}{6pt}
-\maketitle
-
-This package helps you write source code in your articles
-and make sure it looks nice. Install it from CTAN and then
-use like this (pay attention to \ff{\char`\\ff} command
-and \ff{ffcode} environment):
-
-\begin{multicols}{2}
-\setlength{\parskip}{0pt}
-\scriptsize
-\raggedcolumns
-\begin{verbatim}
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{ffcode}
-\begin{document}
-The function \ff{fibo()} is recursive:
-\begin{ffcode}
-int fibo(int n) {
- if (n < 2) {
- return n; |$\label{ln:ret}$|
- }
- return fibo(n - 1) + fibo(n - 2);
-}
-\end{ffcode}
-The line no.~\ref{ln:ret} terminates it.
-\end{document}
-\end{verbatim}
-
-\columnbreak
-
-The function \ff{fibo()} is recursive:
-
-\begin{ffcode}
-int fibo(int n) {
- if (n < 2) {
- return n; |$\label{ln:ret}$|
- }
- return fibo(n - 1) + fibo(n - 2);
-}
-\end{ffcode}
-
-The line no.~\ref{ln:ret} terminates it.
-\end{multicols}
-
-You have to run \ff{pdflatex} with \ff{--shell-escape} flag
-in order to let \ff{minted} (the package we use) to run Pygments
-and format the code. If you don't want this to happen,
-just use \ff{nopygments} option.
-
-A pair of vertical lines decorate a TeX command inside the snippet.
-If you want to print a single vertical line, use this:
-\ff{|\char`\\vert|}.
-
-If you want to omit the light gray frames around \ff{\char`\\ff}
-texts, use the package option \ff{noframes}.
-
-The command \ff{\char`\\ff\char`\{...\char`\}} behaves differently in math mode: it doesn't
-add gray frames:
-\begin{equation}
-x = \int_\ff{home}^N f(x).
-\end{equation}
-
-To omit the vertical gray bar at the left side of each snippet,
-use \ff{nobars} option of the package.
-
-To omit the line numbers, use \ff{nonumbers} option of the package.
-
-By default, the numbering is continuous: line numbers start at the
-first snippet and increment until the end of the document. If you
-want them to start from one at each snippet, use \ff{nocn}
-(stands for ``no continuous numbering'')
-option of the package.
-
-You can highlight some lines in your \ff{ffcode} environment,
-or can use any other additional configuration parameters from
-\ff{minted} package:
-
-\begin{multicols}{2}
-\setlength{\parskip}{0pt}
-\scriptsize
-\raggedcolumns
-\begin{verbatim}
-\begin{ffcode*}{highlightlines={1,4-5}}
-while (true) {
- print("Hello!")
- print("Enter your name:")
- scan(x)
- print("You name is " + x)
-}
-\end{ffcode*}
-\end{verbatim}
-
-\columnbreak
-
-\begin{ffcode*}{highlightlines={7,10-11}}
-while (true) {
- print("Hello!")
- print("Enter your name:")
- scan(x)
- print("You name is " + x)
-}
-\end{ffcode*}
-\end{multicols}
-
-Using this second argument of \ff{ffcode*} (with the trailing asterisk),
-you can provide any other options from \ff{minted} package to the
-snippet.
-
-By the way, the package correctly formats low-height texts, for example, just
-a dot: \ff{.}
-
-More details about this package you can find
-in \ff{yegor256/ffcode} GitHub repository.
-
-\end{document} \ No newline at end of file