summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fvextra
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-20 21:36:54 +0000
committerKarl Berry <karl@freefriends.org>2016-07-20 21:36:54 +0000
commite974c63e56247a56005aaa7156a4649e119d7cc9 (patch)
tree38cfed516470a8c3c491e0fb9bb581b80548319a /Master/texmf-dist/tex/latex/fvextra
parentec7cad7f3e821eb0412584362b3d28bf95e3699a (diff)
fvextra (20jul16)
git-svn-id: svn://tug.org/texlive/trunk@41742 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fvextra')
-rw-r--r--Master/texmf-dist/tex/latex/fvextra/fvextra.sty165
1 files changed, 162 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/fvextra/fvextra.sty b/Master/texmf-dist/tex/latex/fvextra/fvextra.sty
index 45388f31463..c00f5abd51a 100644
--- a/Master/texmf-dist/tex/latex/fvextra/fvextra.sty
+++ b/Master/texmf-dist/tex/latex/fvextra/fvextra.sty
@@ -20,7 +20,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{fvextra}
- [2016/07/14 v1.1 fvextra - extensions and patches for fancyvrb]
+ [2016/07/20 v1.2 fvextra - extensions and patches for fancyvrb]
\RequirePackage{ifthen}
\RequirePackage{etoolbox}
\RequirePackage{fancyvrb}
@@ -40,6 +40,8 @@
\let\FV@FormattingPrepHook\@empty
\expandafter\def\expandafter\FV@FormattingPrep\expandafter{%
\expandafter\FV@FormattingPrepHook\FV@FormattingPrep}
+\let\FV@PygmentsHook\relax
+\g@addto@macro\FV@FormattingPrepHook{\FV@PygmentsHook}
\edef\FV@hashchar{\string#}
\edef\FV@dollarchar{\string$}
\edef\FV@ampchar{\string&}
@@ -450,7 +452,7 @@
\ifcsname definecolor\endcsname
\ifx\definecolor\relax
\else
- \definecolor{FancyVerbHighlightColor}{HTML}{E0FFFF}
+ \definecolor{FancyVerbHighlightColor}{rgb}{0.878, 1, 1}
\fvset{highlightcolor=FancyVerbHighlightColor}
\fi\fi
\AtBeginDocument{%
@@ -458,7 +460,7 @@
\ifcsname definecolor\endcsname
\ifx\definecolor\relax
\else
- \definecolor{FancyVerbHighlightColor}{rgb}{0,1,1}
+ \definecolor{FancyVerbHighlightColor}{rgb}{0.878, 1, 1}
\fvset{highlightcolor=FancyVerbHighlightColor}
\fi\fi
\fi}
@@ -619,8 +621,10 @@
\expandafter\FV@BreakBefore@Process\FV@BreakBefore\FV@Undefined
\endgroup
\FV@BreakBefore@Def
+ \FV@BreakBeforePrep@PygmentsHook
\fi
}
+\let\FV@BreakBeforePrep@PygmentsHook\relax
\define@key{FV}{breakafter}{%
\ifstrempty{#1}%
{\let\FV@BreakAfter\@empty
@@ -670,8 +674,10 @@
\expandafter\FV@BreakAfter@Process\FV@BreakAfter\FV@Undefined
\endgroup
\FV@BreakAfter@Def
+ \FV@BreakAfterPrep@PygmentsHook
\fi
}
+\let\FV@BreakAfterPrep@PygmentsHook\relax
\g@addto@macro\FV@FormattingPrepHook{%
\ifcsname pdfmatch\endcsname
\ifx\pdfmatch\relax
@@ -964,6 +970,7 @@
\expandafter\FV@BreakBefore@Process\FV@BreakBefore\FV@Undefined
\endgroup
\FV@BreakBefore@Def
+ \FV@BreakBeforePrep@PygmentsHook
\fi
}
\def\FV@BreakAfterPrep@UTF{%
@@ -1008,6 +1015,7 @@
\expandafter\FV@BreakAfter@Process\FV@BreakAfter\FV@Undefined
\endgroup
\FV@BreakAfter@Def
+ \FV@BreakAfterPrep@PygmentsHook
\fi
}
\def\FV@Break@AnyToken@UTF#1{%
@@ -1172,6 +1180,7 @@
\ifthenelse{\boolean{FV@BreakAutoIndent}}%
{\hspace*{-\wd\FV@LineIndentBox}}%
{}%
+ \FV@BreakByTokenAnywhereHook
\strut\FancyVerbFormatText{%
\FancyVerbBreakStart #1\FancyVerbBreakStop}\nobreak\strut
\end{internallinenumbers*}
@@ -1180,6 +1189,7 @@
{\hbox to \FV@BreakSymbolIndentRight{\hfill}}%
}%
}
+\let\FV@BreakByTokenAnywhereHook\relax
\def\FV@ListProcessLine@Break#1{%
\hbox to \hsize{%
\kern\leftmargin
@@ -1234,6 +1244,155 @@
\FV@RightListNumber
\fi}%
\hss}\baselineskip\z@\lineskip\z@}
+\def\FV@BreakBeforePrep@Pygments#1{%
+ \ifcsname FV@BreakBefore@Token\@backslashchar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zbs }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\FV@underscorechar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zus }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\@charlb\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zob }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\@charrb\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zcb }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{^}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zca }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\FV@ampchar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zam }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{<}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zlt }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{>}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zgt }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\FV@hashchar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zsh }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\@percentchar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zpc }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\FV@dollarchar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zdl }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{-}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zhy }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{'}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zsq }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{"}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zdq }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\FV@tildechar\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zti }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{@}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zat }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{[}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zlb }{}%
+ \fi
+ \ifcsname FV@BreakBefore@Token\detokenize{]}\endcsname
+ \@namedef{FV@BreakBefore@Token#1Zrb }{}%
+ \fi
+}
+\def\FV@BreakAfterPrep@Pygments#1{%
+ \ifcsname FV@BreakAfter@Token\@backslashchar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zbs }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\FV@underscorechar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zus }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\@charlb\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zob }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\@charrb\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zcb }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{^}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zca }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\FV@ampchar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zam }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{<}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zlt }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{>}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zgt }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\FV@hashchar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zsh }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\@percentchar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zpc }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\FV@dollarchar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zdl }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{-}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zhy }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{'}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zsq }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{"}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zdq }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\FV@tildechar\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zti }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{@}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zat }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{[}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zlb }{}%
+ \fi
+ \ifcsname FV@BreakAfter@Token\detokenize{]}\endcsname
+ \@namedef{FV@BreakAfter@Token#1Zrb }{}%
+ \fi
+}
+\newbool{FV@breakbytoken}
+\define@booleankey{FV}{breakbytoken}%
+ {\booltrue{FV@breakbytoken}}%
+ {\boolfalse{FV@breakbytoken}\boolfalse{FV@breakbytokenanywhere}}
+\newbool{FV@breakbytokenanywhere}
+\define@booleankey{FV}{breakbytokenanywhere}%
+ {\booltrue{FV@breakbytokenanywhere}\booltrue{FV@breakbytoken}}%
+ {\boolfalse{FV@breakbytokenanywhere}\boolfalse{FV@breakbytoken}}
+\def\FancyVerbBreakByTokenAnywhereBreak{\allowbreak{}}
+\def\VerbatimPygments#1#2{%
+ \def\FV@PygmentsHook{\FV@VerbatimPygments{#1}{#2}}}
+\def\FV@VerbatimPygments#1#2{%
+ \edef\FV@PYG@Literal{\expandafter\FV@DetokMacro@StripSpace\detokenize{#1}}%
+ \def\FV@BreakBeforePrep@PygmentsHook{%
+ \expandafter\FV@BreakBeforePrep@Pygments\expandafter{\FV@PYG@Literal}}
+ \def\FV@BreakAfterPrep@PygmentsHook{%
+ \expandafter\FV@BreakAfterPrep@Pygments\expandafter{\FV@PYG@Literal}}
+ \ifx#2\relax
+ \let\FV@PYG#1
+ \else
+ \let\FV@PYG#2
+ \fi
+ \ifbool{FV@breakbytoken}%
+ {\ifbool{FV@breakbytokenanywhere}%
+ {\def\FV@BreakByTokenAnywhereHook{%
+ \def\FV@BreakByTokenAnywhereBreak{%
+ \let\FV@BreakByTokenAnywhereBreak\FancyVerbBreakByTokenAnywhereBreak}}%
+ \def#1##1##2{%
+ \FV@BreakByTokenAnywhereBreak
+ \leavevmode\hbox{\FV@PYG{##1}{##2}}}}%
+ {\def#1##1##2{%
+ \leavevmode\hbox{\FV@PYG{##1}{##2}}}}}%
+ {\def#1##1##2{%
+ \FV@PYG{##1}{\FancyVerbBreakStart##2\FancyVerbBreakStop}}}%
+}
+\let\FV@BreakByTokenAnywhereBreak\relax
+\def\FV@DetokMacro@StripSpace#1 {#1}
%% \Finale
\endinput
%%