- Optimized line breaking for very long lines (#28).
-
Added command
\InsertBuffer
. This inserts an existing buffer created withVerbatimBuffer
so that it is interpreted as LaTeX. -
Added
\ClearBuffer
as an alias for\VerbatimClearBuffer
. -
When
afterbuffer
is used withVerbatimBuffer
or derived environments to typeset the buffer, the typeset buffer may now containVerbatimBuffer
or environments based on it. Previously, nested buffering overwrote temp macros and produced incorrect results. Typically, nested buffering should be avoided for a given buffer; a different buffer should be used at each level of nesting. The current buffer depth is now available in\FancyVerbBufferDepth
. -
Added option
backgroundcolorboxoverlap
and aliasbgcolorboxoverlap
. When there is a background color for a block of text, this oversizes the\colorbox
behind each line bybackgroundcolorboxoverlap
, and then slightly overlaps these boxes by the same amount. Some PDF viewers and browsers produce rendering artifacts with a background color. These appear in between lines of text as extremely thin horizontal rules that are the color of the page behind the background.backgroundcolorboxoverlap
eliminates rendering artifacts in most software that produces them, and otherwise significantly reduces artifacts (gpoore/minted#429). -
Line breaking now works with very long lines (#28). Previously, very long lines could result in a "Dimension too large" error if they were longer than
\maxdimen
, or no error and also no line breaking if they were so long that the length overflowed and became negative. -
Renamed
\FV@bufferlengthname
to\FancyVerbBufferLengthName
. Added documentation for\FancyVerbBufferLengthName
and\FancyVerbBufferLineName
.
- Replaced
FancyVerbBufferIndex
counter with\FancyVerbBufferIndex
macro to prevent issues with commands and environments such as\text
fromamsmath
that modify counter behavior.
- Replaced buffer length counters with macros to prevent issues with
\includeonly
resetting counters.
-
Added new option
backgroundcolor
(aliasbgcolor
). This provides a basic,\colorbox
-based implementation of background colors for commands and environments. Added new optionbackgroundcolorvphantom
(aliasbgcolorvphantom
) for customizing background height. Added new optionbackgroundcolorpadding
(aliasbgcolorpadding
) for customizing padding between text and the edge of the region with background color. -
Added option
insertenvname
. This customizes the verbatim environment used by\VerbatimInsertBuffer
. -
When
numberblanklines=false
,highlightlines
no longer highlights blank lines at the end of a highlighted range (#25, gpoore/minted#226). -
An unnecessary line break is no longer inserted before the last "word" of a line when it is preceded by a long "word" that is broken internally as a result of
breakbefore
,breakafter
, orbreakanywhere
(#26). -
Added option
breakpreferspaces
(defaulttrue
). This determines whether line breaks are preferentially inserted at normal spaces rather than at other locations allowed bybreakbefore
,breakafter
, orbreakanywhere
(#26). -
Added option
breakanywhereinlinestretch
(gpoore/minted#387). -
\FVExtraReadVArg
now takes a multi-line (but not multi-paragraph) verbatim argument. The new\FVExtraReadVArgSingleLine
provides the old functionality of taking an argument restricted to a single line (gpoore/minted#376). -
By default,
\Verb
and\SaveVerb
now take multi-line (but not multi-paragraph) verbatim arguments. The old behavior of requiring verbatim arguments to be on a single line can be restored by setting the new optionvargsingleline
totrue
. -
Added documentation for undocumented
fancyvrb
optionlistparameters
(gpoore/minted#256). -
Expanded
breaklines
documentation with discussion of limitations and alternatives (gpoore/minted#400).
-
Added new command
\VerbatimClearBuffer
. -
VerbatimBuffer
environments with the same buffer name now append to the same buffer, regardless of the value ofglobalbuffer
. Previously,globalbuffer=false
caused any pre-existing buffer to be cleared. Now,globalbuffer=false
causes anything that is appended to the buffer to be removed at the end of the environment, but the entire buffer is not cleared. -
\FVExtraUnexpandedReadStarOArgMArgBVArg
now checks that the final argument it reads is braced (#22). -
Text that immediately follows
\VerbatimInsertBuffer
is no longer indented to start a new paragraph. -
Updated
tcblisting
usage in docs for compatibility with the latesttcolorbox
.
- Fixed bug from v1.6 that caused a space following a comma to be lost (#21).
-
Added new environment
VerbatimWrite
. This is similar tofancyvrb
'sVerbatimOut
, except that it allows for writing to a file multiple times and guarantees truly verbatim output via\detokenize
. -
Added new environment
VerbatimBuffer
. This stores the contents of an environment verbatim in a "buffer," a sequence of numbered macros each of which contains one line of the environment. The "buffered" lines can then be looped over for further processing or later use. -
Added new command
\VerbatimInsertBuffer
. This inserts an existing buffer created byVerbatimBuffer
as aVerbatim
environment. -
Redefined visible space
\FancyVerbSpace
so that it now has the correct width. It had previously been redefined as\textvisiblespace
, but that was slightly too narrrow. -
Added option
spacebreak
. This determines the line break that is inserted around spaces whenshowspaces=true
orbreakcollapsespaces=false
, by defining the new macro\FancyVerbSpaceBreak
. -
breakbefore
,breakafter
, andbreakanywhere
now produce plain breaks around spaces whenshowspaces=true
, instead of breaks with a break symbol at the end of wrapped lines.\FancyVerbBreakAnywhereBreak
,\FancyVerbBreakBeforeBreak
, and\FancyVerbBreakAfterBreak
are no longer inserted next to spaces. Instead,\FancyVerbSpaceBreak
is inserted or (depending on options)\FV@Space
is defined to include\FancyVerbSpaceBreak
. -
Added option
breakcollapsespaces
. Whentrue
(default), a line break within a run of regular spaces (showspaces=false
) replaces all spaces with a single break, and the wrapped line after the break starts with a non-space character. Whenfalse
, a line break within a run of regular spaces preserves all spaces, and the wrapped line after the break may start with one or more spaces. This causes regular spaces to behave exactly like the visible spaces produced withshowspaces
; both give identical line breaks, with the only difference being the appearance of spaces. -
breaklines
now automatically enables breaks after space characters whenshowspaces=true
. -
Reimplemented definition of
\FV@Space
to work with new space options. -
Added documentation about how reimplemented commands handle the
codes
option differently compared tofancyvrb
(#17). -
Starred commands such as
\Verb*
now use both visible spaces and visible tabs instead of just visible spaces. This is more similar to the current behavior of\verb*
, except that\verb*
converts tabs into visible spaces (#19). -
The
mathescape
option now resets the ampersand&
catcode (#18).
-
Added
\FancyVerbFormatInline
for customizing the formatting of inline verbatim, such as\Verb
. This parallels\FancyVerbFormatLine
and\FancyVerbFormatText
. -
Added line breaking option
breaknonspaceingroup
. Whencommandchars
is used to allow macros within verbatim, this inserts breaks within groups{...}
. -
Added
\FVExtraUnexpandedReadStarOArgMArgBVArg
to support reimplementation of\mintinline
forminted
. -
Added
VerbEnv
environment, which is an environment variant of\Verb
. This supports reimplementation of\mintinline
forminted
. -
breakbefore
andbreakafter
now support the escaped comma\,
(#15). -
Fixed unintended line breaks after hyphens under LuaTeX (#14).
-
Added documentation on Pandoc compatibility (#11).
-
Replaced
breakbeforegroup
withbreakbeforeinrun
, and replacedbreakaftergroup
withbreakafterinrun
. With the introduction ofbreaknonspaceingroup
, "group
" is now reserved for referring to TeX groups{...}
. -
Removed dependency on
ifthen
package. -
breakautoindent
now works correctly with Pygments output that treats leading whitespace as a separate token or as part of a token.
-
Reimplemented
\Verb
. It now works as expected inside other commands (with a few limitations), including in movable arguments, and is compatible withhyperref
for things like PDF bookmarks. It now supportsbreaklines
and relevant line-breaking options. -
Reimplemented
\SaveVerb
and\UseVerb
to be equivalent to the new\Verb
. The new optionretokenize
allows saved verbatim material to be retokenized under newcommandchars
andcodes
when it is inserted with\UseVerb
. -
New command
\EscVerb
works like the reimplemented\Verb
, except that special characters can be escaped with a backslash. It works inside other commands without any limitations, including in movable arguments, and is compatible withhyperref
for things like PDF bookmarks. -
Added
extra
option for switching between the reimplemented\Verb
,\SaveVerb
,\UseVerb
and the originalfancyvrb
definitions. Reimplemented versions are used by default. This option will apply to any future reimplemented commands and environments. -
New command
\fvinlineset
only applies options to commands related to typesetting verbatim inline, like\Verb
,\SaveVerb
,\UseVerb
. It only works with commands that are defined or reimplemented byfvextra
. It overrides options from\fvset
. -
Patched
fancyvrb
so that\Verb
(either reimplemented version or original) can use characters like%
for delimiters when used outside any commands. -
obeytabs
now works with thecalc
package's redefined\setcounter
. Sinceminted
loadscalc
, this also fixesminted
compatibility (minted
#221). -
Added new option
fontencoding
(minted
#208). -
highlightlines
now works correctly withframe
(#7).
beameroverlays
now works withVerbatimOut
.
-
Added
beameroverlays
option, which enablesbeamer
overlays using the<
and>
characters. -
Added options
breakindentnchars
,breaksymbolsepleftnchars
(aliasbreaksymbolsepnchars
),breaksymbolseprightnchars
,breaksymbolindentleftnchars
(aliasbreaksymbolindentnchars
), andbreaksymbolindentrightnchars
. These are identical to the pre-existing options without thenchars
suffix, except that they allow indentation to be specified as an integer number of characters rather than as a dimension. As a result of these new options,\settowidth
is no longer used in the preamble, resolving some font incompatibilities (#4). -
Clarified in the docs that
breaksymbolsepright
is a minimum, rather than exact, distance.
-
The package is now compatible with classes and packages that redefine
\raggedright
. -
Fixed a bug that introduced extra space in inline contexts such as
\mintinline
whenbreaklines=true
(#3).
-
Added support for line breaking when working with Pygments for syntax highlighting.
-
The default
highlightcolor
is now defined withrgb
for compatibility with thecolor
package. Fixed a bug in the conditional color definition whencolor
andxcolor
are not loaded beforefvextra
.
-
The options
rulecolor
andfillcolor
now accept color names directly; using\color{<color_name>}
is no longer necessary, though it still works. -
Added
tabcolor
andspacecolor
options for use withshowtabs
andshowspaces
. -
Added
highlightlines
option that takes a line number or range of line numbers and highlights the corresponding lines. Addedhighlightcolor
option that controls highlighting color. -
obeytabs
no longer causes lines to vanish when tabs are inside macro arguments. Tabs and spaces inside a macro argument but otherwise at the beginning of a line are expanded correctly. Tabs inside a macro argument that are preceded by non-whitespace characters (not spaces or tabs) are expanded based on the starting position of the run of whitespace in which they occur. -
The line breaking options
breakanywhere
,breakbefore
, andbreakafter
now work with multi-byte UTF-8 code points under pdfTeX withinputenc
. They were already fully functional under XeTeX and LuaTeX. -
Added
curlyquotes
option, which essentially disables theuquote
package.
- Initial release.