summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/minted
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-18 22:29:01 +0000
committerKarl Berry <karl@freefriends.org>2011-09-18 22:29:01 +0000
commit4c7c93512d5ad99119fc38035815ba54a17605a5 (patch)
treea99c0960c4f6e75b07c8045709370a737c33da6b /Master/texmf-dist/source/latex/minted
parent649107c8ec87f4bc736e7089a0bf9aed9ba1e137 (diff)
minuted 1.7 (17sep11)
git-svn-id: svn://tug.org/texlive/trunk@24002 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/minted')
-rw-r--r--Master/texmf-dist/source/latex/minted/Makefile36
-rw-r--r--Master/texmf-dist/source/latex/minted/minted.dtx414
-rw-r--r--Master/texmf-dist/source/latex/minted/minted.ins8
3 files changed, 302 insertions, 156 deletions
diff --git a/Master/texmf-dist/source/latex/minted/Makefile b/Master/texmf-dist/source/latex/minted/Makefile
deleted file mode 100644
index 8f051d4535d..00000000000
--- a/Master/texmf-dist/source/latex/minted/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-TEXFLAGS = -e '$$pdflatex=q/pdflatex %O -shell-escape %S/' -pdf
-LATEXMK = latexmk
-
-PACKAGE = minted.dtx \
- minted.ins \
- minted.pdf \
- README \
- Makefile
-
-.PHONY: all doc dist clean cleanall
-
-all: minted.sty minted.pdf
-
-doc: minted.pdf
-
-minted.sty: minted.ins minted.dtx
- echo y | tex minted.ins
-
-minted.pdf: minted.sty minted.gls minted.dtx
- $(LATEXMK) $(TEXFLAGS) minted.dtx
-
-minted.gls: minted.glo
- makeindex -s gglo.ist -o minted.gls minted.glo
-
-minted.glo: minted.dtx minted.sty
- $(LATEXMK) $(TEXFLAGS) minted.dtx
-
-dist: $(PACKAGE)
- @$(RM) minted.zip
- @zip minted.zip $(PACKAGE)
-
-clean:
- @$(RM) *.aux *.log *.out *.toc *.fdb_latexmk *.ilg *.glo *.gls *.lol
-
-cleanall: clean
- @$(RM) minted.sty minted.zip
diff --git a/Master/texmf-dist/source/latex/minted/minted.dtx b/Master/texmf-dist/source/latex/minted/minted.dtx
index fcde9e66f46..483d1684495 100644
--- a/Master/texmf-dist/source/latex/minted/minted.dtx
+++ b/Master/texmf-dist/source/latex/minted/minted.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
% minted.dtx
-% Copyright 2010 Konrad Rudolph
+% Copyright 2010-2011 Konrad Rudolph
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -23,7 +23,7 @@
% Nanos gigantum humeris insidentes.
%
% Special thanks to Philipp Stephani and the rest of the guys from
-% comp.text.tex.
+% comp.text.tex and tex.stackexchange.com
% \fi
% \iffalse
%<*driver>
@@ -32,11 +32,11 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}
%
-\ProvidesPackage{minted}[2010/01/27 v1.6 Yet another Pygments shim for LaTeX]
+\ProvidesPackage{minted}[2011/09/17 v1.7 Yet another Pygments shim for LaTeX]
%
\RequirePackage{keyval}
\RequirePackage{fancyvrb}
-\RequirePackage{color}
+\RequirePackage{xcolor}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{calc}
@@ -55,13 +55,36 @@
\usepackage{hyperref}
\usepackage{microtype}
+\def\MacroFont{%
+ \fontencoding\encodingdefault%
+ \fontfamily\ttdefault%
+ \fontseries\mddefault%
+ \fontshape\updefault%
+ \small}
+
+^^A FIXME This is incredibly hacky and overrides size commands around tt-text.
+^^A But I don't get the font inside the main body to change otherwise. :-(
+\let\mintedttold\ttfamily
+\def\ttfamily{\mintedttold\fontsize{9}{9}\selectfont}
+
+\definecolor{minted@mint}{HTML}{4B6121}
+\definecolor{minted@samplebg}{HTML}{F0F0E0}
+\colorlet{minted@linkcolor}{minted@mint}
+
+\def\PrintDescribeMacro#1{\strut \MacroFont\textcolor{minted@linkcolor}{\string #1\ }}
+\let\PrintDescribeEnv\PrintDescribeMacro
+\let\PrintMacroName\PrintDescribeMacro
+\let\PrintEnvName\PrintDescribeEnv
+\def\theCodelineNo{\textcolor{minted@linkcolor}{\sffamily\footnotesize\oldstylenums{\arabic{CodelineNo}}}}
+
\hypersetup{
pdftitle=The minted package: Highlighted source code in LaTeX,
pdfauthor=Konrad Rudolph,
pdfsubject={Minted LaTeX package manual},
+ allcolors=minted@linkcolor,
}
-% Shamelessly stolen from http://blog.karssen.org/2009/11/15/a-latex-example-environment/
+^^A Shamelessly stolen from http://blog.karssen.org/2009/11/15/a-latex-example-environment/
\newenvironment{example}
{\VerbatimEnvironment
\begin{VerbatimOut}[gobble=3]{example.out}}
@@ -69,18 +92,33 @@
\vspace{1ex}
\setlength{\parindent}{0pt}
\fbox{\begin{minipage}{0.5\linewidth}
- \small\inputminted[resetmargins]{latex}{example.out}
+ \inputminted[resetmargins]{latex}{example.out}
\end{minipage}
\hspace{0.05\linewidth}
\begin{minipage}{0.4\linewidth}
- \small\input{example.out}
+ \input{example.out}
\end{minipage}
\vspace{1ex}}}
-\newenvironment{optionlist}
- {\begin{list}{}{\renewcommand\makelabel[1]{\textsf{##1}:\quad}}
- \DeleteShortVerb{\|}\MakeShortVerb{\+}}
- {\end{list}\DeleteShortVerb{\+}\MakeShortVerb{\|}}
+\makeatletter ^^A ?!? Needed, no idea why.
+\def\minted@printopt#1(#2) (#3){%
+ \leavevmode%
+ \marginpar{\raggedleft\texttt{\textcolor{minted@linkcolor}{#1}}\ }%
+ \textsf{(#2)}\hfill(default: #3)\\}
+
+\newenvironment{optionlist}{%
+ \par%
+ \newcommand*\mintednext{}%
+ \renewcommand*\item[1][]{%
+ \mintednext%
+ \renewcommand*\mintednext{\par}%
+ \minted@printopt##1%
+ \ignorespaces}
+ \DeleteShortVerb{\|}%
+ \MakeShortVerb{\+}}{%
+ \DeleteShortVerb{\+}%
+ \MakeShortVerb{\|}%
+ \par}
\newcommand\thestyle{trac}
\usemintedstyle{\thestyle}
@@ -102,7 +140,7 @@
% \newcommand\pkg[1]{\textsf{#1}}
% \newcommand\app[1]{\textsf{#1}}
%
-% \title{The \pkg{minted} package:\\Highlighted source code in \LaTeX
+% \title{The \textcolor{minted@mint}{\pkg{minted}} package:\\Highlighted source code in \LaTeX
% \thanks{This document corresponds to \pkg{minted}~\fileversion, last changed~\filedate.}}
% \author{Konrad Rudolph\\\texttt{konrad\char`\_rudolph@madrat.net}}
% \date{\filedate}
@@ -122,11 +160,12 @@
%
% \fvset{
% codes={\catcode`\%=9}, ^^A Ignore initial |%|
-% numbersep=5pt
+% numbersep=5pt,
+% fontsize=\small
% }
% \setlength{\fboxsep}{1ex}
%
-%
+% \mbox{}\newpage
% \section{Introduction}
%
% \pkg{minted} is a package that allows formatting source code in \LaTeX.
@@ -136,7 +175,7 @@
% code
% \end{minted}
% \end{VerbatimOut}
-% \inputminted[gobble=2]{latex}{minted.doc.out}
+% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
%
% will highlight a piece of code in a chosen language.
% The display can be customized by a number of arguments and colour schemes.
@@ -157,10 +196,10 @@
%
% \begin{minted}[gobble=3]{ruby}
% class Foo
-% def init
-% pi = Math::PI
-% @var = "Pi is approx. #{pi}"
-% end
+% def init
+% pi = Math::PI
+% @var = "Pi is approx. #{pi}"
+% end
% end
% \end{minted}
%
@@ -172,6 +211,8 @@
%
% \section{Installation}
%
+% \subsection{Prerequisites}
+%
% \app{Pygments} is written in Python so make sure that at least Python 2.6 is installed on you system:
%
% \begin{Verbatim}[gobble=3,commandchars=\\\{\}]
@@ -194,9 +235,54 @@
% 1.2.)
%
%
+% \subsection{Required packages}
+%
+% \pkg{minted} requires the following packages to be available and reasonably up to date on your system, all of which ship with recent \TeX{} distributions:
+%
+% \begingroup
+% \setlength\parskip{0pt}
+% \setlength\topsep{0pt}
+% \begin{list}{\textrm{\labelitemi}}{\ttfamily}
+% \item keyval
+% \item fancyvrb
+% \item xcolor
+% \item float
+% \item ifthen
+% \item calc
+% \item ifplatform
+% \end{list}
+% \endgroup
+%
+%
+% \subsection{Installing \pkg{minted}}
+% \changes{1.7}{2010/03/16}{Installation instructions added}
+%
+% If the file |minted.sty| doesn't exist yet, we first have to create this.
+% If you're using a system that supports the \app{make} command, then you can simply type the following
+% command in the folder where you've extracted the \pkg{minted} package code:
+%
+% \begin{Verbatim}[gobble=3,commandchars=\\\{\}]
+% \$ make
+% \end{Verbatim}
+%
+% Alternatively, you may download this file separately from the
+% \href{http://code.google.com/p/minted/downloads/list}{project's homepage}, or create it manually by
+% executing the command
+%
+% \begin{Verbatim}[gobble=3,commandchars=\\\{\}]
+% \$ tex minted.ins
+% \end{Verbatim}
+%
+% on the command line.
+%
+% We now have to install the file so that \TeX{} is able to find them.
+% In order to do that, please refer to the
+% \href{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst-wlcf}{\TeX{} FAQ} on that subject.
+%
+%
% \subsection{Windows}
%
-% Windows support is sketchy at the moment.
+% Windows support is sketchy / untested at the moment.
% There are two complications: installation and usage.
%
% \begin{description}
@@ -216,12 +302,12 @@
% \begin{Verbatim}[gobble=7,commandchars=\\\{\}]
% @echo off
% set PYTHONPATH=C:\mintedbs{}Python26
-% \mintedpcc{}PYTHONPATH\mintedpcc{}\mintedbs{}python.exe \mintedpcc{}PYTHONPATH\mintedpcc\mintedbs{}Scripts\mintedbs{}pygmentize \mintedpcc{}*
+% \mintedpcc{}PYTHONPATH\mintedpcc{}\mintedbs{}python.exe \mintedpcc{}PYTHONPATH\mintedpcc{}\mintedbs{}Scripts\mintedbs{}pygmentize \mintedpcc{}*
% \end{Verbatim}
% \end{description}
%
-% \section{Basic usage}
%
+% \section{Basic usage}
%
% \subsection{Preliminary}
%
@@ -241,10 +327,45 @@
% The same holds for other processors, such as |pdflatex| or |xelatex|.
%
%
+% \subsection{A minimal complete example}
+% \changes{1.7}{2010/03/16}{Minimal working example added}
+%
+% The following file |minimal.tex| shows the basic usage of \pkg{minted}.
+%
+% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
+% \documentclass{article}
+%
+% \usepackage{minted}
+%
+% \begin{document}
+% \begin{minted}{c}
+% int main() {
+% printf("hello, world");
+% return 0;
+% }
+% \end{minted}
+% \end{document}
+% \end{VerbatimOut}
+% \inputminted[gobble=2,frame=lines]{latex}{minted.doc.out}
+%
+% By compiling the source file like this:
+%
+% \begin{Verbatim}[gobble=3,commandchars=\\\{\}]
+% \$ pdflatex -shell-escape minimal
+% \end{Verbatim}
+%
+% we end up with the following output in |minimal.pdf|:
+%
+% \hfill
+% \colorbox{minted@samplebg}{\begin{minipage}{0.6\textwidth}
+% \inputminted[firstline=7,lastline=10]{c}{minted.doc.out}
+% \end{minipage}}
+% \hfill\hfill
+%
% \subsection{Formatting source code}
%
% \DescribeEnv{minted}
-% Using \pkg{minted} is straightforward. For example, to highlight a Python source code, we might use
+% Using \pkg{minted} is straightforward. For example, to highlight a Python source code we might use
% the following code snippet (result on the right):
%
% \begin{example}
@@ -258,14 +379,14 @@
% in more detail below.
%
% \DescribeMacro{\mint}
-% For one-line source codes, you can alternatively use a shorthand notation similar to |\verb|:
+% For one-line source codes, you can alternatively use a shorthand notation similar to |\verb|:^^A|
%
% \begin{example}
% \mint{python}|import this|
% \end{example}
%
-% The complete syntax is \cmd\mint\oarg{options}\marg{language}/\meta{code}/
-% Where the code delimither |/|, like with |\verb|, can be almost any punctuation character. ^^A|
+% The complete syntax is \cmd\mint\oarg{options}\marg{language}|/|\meta{code}|/|,
+% where the code delimither |/|, like with |\verb|, can be almost any punctuation character. ^^A|
% Again, this command supports a number of options described below.
%
% \DescribeMacro{\inputminted}
@@ -281,9 +402,7 @@
% \DescribeMacro{\usemintedstyle}
% To do this, put the following into the prelude of your document:
%
-% \begin{minted}[gobble=3]{latex}
-% \usemintedstyle{name}
-% \end{minted}
+% \mint[frame=lines]{latex}/\usemintedstyle{name}/
%
% To get a list of all available stylesheets, execute the following command on the command line:
%
@@ -306,7 +425,7 @@
% \end{Verbatim}
%
%
-% \section{Floated listings}
+% \section{Floated listings}\label{sec:float}
%
% \DescribeEnv{listing}
% \pkg{minted} provides the |listing| environment to wrap around a source code block.
@@ -315,7 +434,7 @@
% as for the |table| and |figure| environments):
% \begin{VerbatimOut}[gobble=1]{minted.doc.out}
% \begin{listing}[H]
-% \mint{cl}/(car (cons 1 2))/
+% \mint{cl}/(car (cons 1 '(2)))/
% \caption{Example of a listing.}
% \label{lst:example}
% \end{listing}
@@ -326,11 +445,11 @@
%
% will yield:
%
-% \begin{samepage}
-% \rule{\textwidth}{0.4pt}\\
-% \input{minted.doc.out}
-% \ \\\rule{\textwidth}{0.4pt}\\
-% \end{samepage}
+% \hfill
+% \colorbox{minted@samplebg}{\begin{minipage}{0.6\textwidth}
+% \input{minted.doc.out}
+% \end{minipage}}
+% \hfill\hfill
%
% \DescribeMacro{\listoflistings}
% The |\listoflistings| macro will insert a list of all (floated) listings into the document:
@@ -343,19 +462,30 @@
% The string ``Listing'' in a listing's caption can be changed.
% To do this, simply redefine the macro |\listingscaption|, e.g.:
%
-% \mint{latex}/\renewcommand\listingscaption{Program code}/
+% \mint[frame=lines]{latex}/\renewcommand\listingscaption{Program code}/
%
% \DescribeMacro{\listoflistingscaption}
% Likewise, the caption of the listings list, ``List of listings'' can be changed by redefining
% |\listoflistingscaption| like so:
%
-% \mint{latex}/\renewcommand\listoflistingscaption{List of program codes}/
+% \mint[frame=lines]{latex}/\renewcommand\listoflistingscaption{List of program codes}/
%
%
% \section{Options}
%
%
-% \subsection{Usage}
+% \subsection{Package options}
+%
+% \DescribeMacro{section}
+% \DescribeMacro{chapter}
+% To control how \LaTeX{} counts the |listing| floats, you can pass either the
+% |section| or |chapter| option when loading the \pkg{minted} package.
+% For example, the following will cause listings to be counted per-section:
+%
+% \mint[frame=lines]{latex}/\usepackage[section]{minted}/
+%
+%
+% \subsection{Macro option usage}
%
% All \pkg{minted} highlight commands accept the same set of options.
% Options are specified as a comma-separated list of |key=value| pairs.
@@ -415,14 +545,16 @@
%
% \subsection{Available options}
%
+% \newcommand\appliesto[1]{\textsf{[For #1 only]}}
+%
% Following is a full list of available options.
% For more detailed option descriptions please refer to the \pkg{fancyvrb} documentation,
% except where noted otherwise.
% \begin{optionlist}
-% \item[baselinestretch (+auto+\textbar dimension)]
-% Value to use as for baselinestretch inside the listing (default: +auto+).
-% \item[bgcolor (string)]
-% Background color of the listing (default: \emph{none}).
+% \item[baselinestretch (+auto+\textbar dimension) (+auto+)]
+% Value to use as for baselinestretch inside the listing.
+% \item[bgcolor (string) (\emph{none})]
+% Background color of the listing.
% Notice that the value of this option must \emph{not} be a color command. Instead, it must be a color
% \emph{name}, given as a string, of a previously-defined color:
%
@@ -435,34 +567,44 @@
% \end{minted}
% \end{example}
%
-% \item[firstline (integer)]
-% First line to be shown (default: +1+).
+% \item[firstline (integer) (+1+)]
+% The first line to be shown.
% All lines before that line are ignored and do not appear in the output.
-% \item[firstnumber (+auto+\textbar integer)]
-% Line number of the first line (default: +auto+ = 1).
-% \item[fontfamily (family name)]
-% The font family to use (default: +tt+).
+% \item[firstnumber (+auto+\textbar integer) (+auto+ = 1)]
+% Line number of the first line.
+% \item[fontfamily (family name) (+tt+)]
+% The font family to use.
% +tt+, +courier+ and +helvetica+ are pre-defined.
-% \item[fontseries (series name)]
-% The font series to use (default: +auto+ -- the same as the current font).
-% \item[fontsize (font size)]
-% The size of the font to use (default: +auto+ -- the same as the current font).
-% \item[fontshape (font shape)]
-% The font shape to use (default: +auto+ -- the same as the current font).
-% \item[formatcom (command)]
-% A format to execute before printing verbatim text (default: \emph{none}).
-% \item[frame (+none+\textbar +leftline+\textbar +topline+\textbar +bottomline+\textbar +lines+\textbar +single+)]:
-% The type of frame to put around the source code listing (default: +none+).
-% \item[framerule (dimension)]
-% Width of the frame (default: +0.4pt+).
-% \item[framesep (dimension)]
-% Distance between frame and content (default: +\fboxsep+).
-% \item[gobble (integer)]
-% Remove the first $n$ characters from each input line (default: +0+).
-% \item[lastline (integer)]
-% Last line to be shown (default: \emph{last line of input}).
-% \item[linenos (boolean)]
-% Enables line numbers (default +false+).
+% \item[fontseries (series name) (+auto+ -- the same as the current font)]
+% The font series to use.
+% \item[fontsize (font size) (+auto+ -- the same as the current font)]
+% The size of the font to use, as a size command, e.g. +\footnotesize+.
+% \item[fontshape (font shape) (+auto+ -- the same as the current font)]
+% The font shape to use.
+% \item[formatcom (command) (\emph{none})]
+% A format to execute before printing verbatim text.
+% \item[frame (+none+\textbar +leftline+\textbar +topline+\textbar +bottomline+\textbar +lines+\textbar +single+) (+none+)]
+% The type of frame to put around the source code listing.
+% \item[framerule (dimension) (+0.4pt+)]
+% Width of the frame.
+% \item[framesep (dimension) (\cmd\fboxsep)]
+% Distance between frame and content.
+% \item[funcnamehighlighting (boolean) (+true+)] \appliesto{PHP}
+% If +true+, highlights built-in function names.
+% \item[gobble (integer) (+0+)]
+% Remove the first $n$ characters from each input line.
+% \item[label (\char`\[string\char`\]string) (\emph{empty})]
+% Add a label to the top, the bottom or both of the frames around the code.
+% See the \pkg{fancyvrb} documentation for more information and examples.
+% \emph{Note:} This does \emph{not} add a +\label+ to the current listing.
+% To achieve that, use a floating environment (section \ref{sec:float}) instead.
+% \item[labelposition (+none+\textbar +topline+\textbar +bottomline+\textbar +all+) (+topline+, +all+ or \emph{none})]
+% Position where to print the label (see above; default: +topline+ if one label is defined, +all+ if two are defined, \emph{none} else).
+% See the \pkg{fancyvrb} documentation for more information.
+% \item[lastline (integer) (\emph{last line of input})]
+% The last line to be shown.
+% \item[linenos (boolean) (+false+)]
+% Enables line numbers.
% In order to customize the display style of line numbers, you need to redefine the +\theFancyVerbLine+
% macro:
%
@@ -481,37 +623,39 @@
% \end{minted}
% \end{example}
%
-% \item[mathescape (boolean)]
-% Enable \LaTeX{} math mode inside comments (default: +false+).
+% \item[mathescape (boolean) (+false+)]
+% Enable \LaTeX{} math mode inside comments.
% Do \emph{not} use spaces inside math mode -- they will be rendered like other full-width verbatim spaces.
% Usage as in package \pkg{listings}.
-% \item[numberblanklines (boolean)]
-% Enables or disables numbering of blank lines (default: +true+).
-% \item[numbersep (dimension)]
-% Gap between numbers and start of line (default: +12pt+).
-% \item[obeytabs (boolean)]
-% Treat tabs as tabs instead of converting them to spaces (default: +false+).
-% \item[resetmargins (boolean)]
-% Resets the left margin inside other environments (default: +false+).
-% \item[rulecolor (color command)]
-% The color of the frame (default: \emph{black})
-% \item[samepage (boolean)]
-% Forces the whole listing to appear on the same page, even if it doesn't fit (default: +false+).
-% \item[showspaces (boolean)]
-% Enables visible spaces: \verb*/visible spaces/ (default: +false+).
-% \item[showtabs (boolean)]
-% Enables visible tabs -- only works in combination with +obeytabs+ (default: +false+).
-% \item[stepnumber (integer)]
-% Interval at which line numbers appear (default: +1+).
-% \item[tabsize (integer)]
-% The number of spaces a tab is equivalent to if +obeytabs+ is not active (default: +8+).
-% \item[texcl (boolean)]
-% Enables \LaTeX{} code inside comments (default: +false+).
+% \item[numberblanklines (boolean) (+true+)]
+% Enables or disables numbering of blank lines.
+% \item[numbersep (dimension) (+12pt+)]
+% Gap between numbers and start of line.
+% \item[obeytabs (boolean) (+false+)]
+% Treat tabs as tabs instead of converting them to spaces.
+% \item[resetmargins (boolean) (+false+)]
+% Resets the left margin inside other environments.
+% \item[rulecolor (color command) (\emph{black})]
+% The color of the frame.
+% \item[samepage (boolean) (+false+)]
+% Forces the whole listing to appear on the same page, even if it doesn't fit.
+% \item[showspaces (boolean) (+false+)]
+% Enables visible spaces: \verb*/visible spaces/.
+% \item[showtabs (boolean) (+false+)]
+% Enables visible tabs -- only works in combination with +obeytabs+.
+% \item[startinline (boolean) (+false+)] \appliesto{PHP}
+% Specifies that the code starts in PHP mode, i.e. leading +<?php+ is omitted.
+% \item[stepnumber (integer) (+1+)]
+% Interval at which line numbers appear.
+% \item[tabsize (integer) (+8+)]
+% The number of spaces a tab is equivalent to if +obeytabs+ is not active.
+% \item[texcl (boolean) (+false+)]
+% Enables \LaTeX{} code inside comments.
% Usage as in package \pkg{listings}.
-% \item[xleftmargin (dimension)]
-% Indentation to add before the listing (default: +0+).
-% \item[xrightmargin (dimension)]
-% Indentation to add after the listing (default: +0+).
+% \item[xleftmargin (dimension) (+0+)]
+% Indentation to add before the listing.
+% \item[xrightmargin (dimension) (+0+)]
+% Indentation to add after the listing.
% \end{optionlist}
%
%
@@ -572,20 +716,18 @@
% \end{example}
%
%
-% \section{To do list}
-%
-%\begin{itemize}
-% \item Allow multiple stylesheets in one file.
-% \item Allow quotes in \pkg{fancyvrb} arguments.
-%\end{itemize}
-%
-%
% \section{Known issues}
%
% \begin{itemize}
% \item Extended characters do not work inside the |minted| environment, even in conjunction with
% package \pkg{inputenc}.
% \textbf{Solution}: Use |xelatex| instead of plain \LaTeX.
+% \item The command |\captionof| and other commands from the \pkg{caption} package produce an
+% error when used in combination with \pkg{minted}.
+% \textbf{Solution}: Load the \pkg{caption} package with the option |compatibility=false|.
+% \item \pkg{minted} doesn't work on Windows 7.
+% \textbf{Solution}: As a workaround, try the accepted answer at \href{http://tex.stackexchange.com/q/23458/42}{tex.stackexchange.com/q/23458}.
+% \item \ldots See list at \href{http://code.google.com/p/minted/issues/list}{code.google.com/p/minted/issues}.
% \end{itemize}
%
% \StopEventually{
@@ -596,11 +738,33 @@
% \section{Implementation}
%
%
+% \subsection{Package options}
+%
+% \changes{1.7}{2011/09/12}{Options for float placement added}
+%
+% \begin{macro}{\minted@float@within}
+%
+% Define an option that controls the section numbering of the |listing| float.
+%
+% \begin{macrocode}
+\DeclareOption{chapter}{\def\minted@float@within{chapter}}
+\DeclareOption{section}{\def\minted@float@within{section}}
+% \end{macrocode}
+% \end{macro}
+%
+% Process package options.
+%
+% \begin{macrocode}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
% \subsection{System-specific settings}
%
% \changes{1.6}{2010/01/27}{Windows support added}
%
% Since we communicate with the ``outside world'', some operations must be defined system-dependently.
+% ^^A TODO Fails on Windows 7, needs fixing; cf. http://code.google.com/p/minted/issues/detail?id=47
%
% \begin{macro}{\DeleteFile}
%
@@ -629,7 +793,7 @@
%
% \begin{macrocode}
\newboolean{AppExists}
-\providecommand\TestAppExists[1]{
+\newcommand\TestAppExists[1]{
\ifwindows
% \end{macrocode}
%
@@ -659,8 +823,10 @@
% On Unix-like systems, we do a straightforward |which| test and create a file upon success,
% whose existence we can then check.
%
+% \changes{1.7}{2010/02/16}{Removed unportable flag from Unix shell command}
+%
% \begin{macrocode}
- \immediate\write18{which -s #1 && touch \jobname.aex}
+ \immediate\write18{which #1 && touch \jobname.aex}
\IfFileExists{\jobname.aex}
{\AppExiststrue
\DeleteFile{\jobname.aex}}
@@ -726,11 +892,11 @@
% omitted, e.g. |foobar| is the same as |foobar=true|).
%
% \begin{macrocode}
-\newcommand\minted@define@switch[2]{
- \minted@defopt{#1}
- \define@booleankey{minted@opt}{#1}{
- \@namedef{minted@opt@#1}{#2}}
- {\@namedef{minted@opt@#1}{}}}
+\newcommand\minted@define@switch[3][]{
+ \minted@defopt{#2}
+ \define@booleankey{minted@opt}{#2}
+ {\@namedef{minted@opt@#2}{#3}}
+ {\@namedef{minted@opt@#2}{#1}}}
% \end{macrocode}
% \end{macro}
%
@@ -767,11 +933,16 @@
% \changes{0.1.5}{2010/01/10}{Added \texttt{fillcolor} option}
% \changes{0.1.5}{2010/01/10}{Removed \texttt{caption} option}
% \changes{1.6}{2010/01/27}{Added font-related options}
+% \changes{1.7}{2010/03/14}{Added PHP-specific options}
+% \changes{1.7}{2011/01/04}{Added the \texttt{label} option}
%
% \begin{macrocode}
\minted@define@switch{texcl}{-P texcomments}
\minted@define@switch{mathescape}{-P mathescape}
\minted@define@switch{linenos}{-P linenos}
+\minted@define@switch{startinline}{-P startinline}
+\minted@define@switch[-P funcnamehighlighting=False]%
+ {funcnamehighlighting}{-P funcnamehighlighting}
\minted@define@opt{gobble}{-F gobble:n=#1}
\minted@define@opt{bgcolor}{#1}
\minted@define@extra{frame}
@@ -793,6 +964,7 @@
\minted@define@extra{fontshape}
\minted@define@extra{fontseries}
\minted@define@extra{formatcom}
+\minted@define@extra{label}
\minted@define@extra@switch{numberblanklines}
\minted@define@extra@switch{showspaces}
\minted@define@extra@switch{resetmargins}
@@ -852,9 +1024,12 @@
\newcommand\minted@pygmentize[2][\jobname.pyg]{
\def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
\minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
+ \minted@opt{startinline} \minted@opt{funcnamehighlighting}
\minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
-o \jobname.out.pyg #1}
\immediate\write18{\minted@cmd}
+ % For debugging, uncomment:
+ %\immediate\typeout{\minted@cmd}
\ifthenelse{\equal{\minted@opt@bgcolor}{}}
{}
{\begin{minted@colorbg}{\minted@opt@bgcolor}}
@@ -911,6 +1086,8 @@
%
% Highlight a longer piece of code inside a verbatim environment.
%
+% \changes{1.7}{2011/08/30}{Fixed \texttt{tabsize} option}
+%
% \begin{macrocode}
\newcommand\minted@proglang[1]{}
\newenvironment{minted}[2][]
@@ -918,7 +1095,7 @@
\renewcommand{\minted@proglang}[1]{#2}
\minted@resetoptions
\setkeys{minted@opt}{#1}
- \begin{VerbatimOut}{\jobname.pyg}}%
+ \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
{\end{VerbatimOut}
\minted@pygmentize{\minted@proglang{}}
\DeleteFile{\jobname.pyg}}
@@ -1037,7 +1214,9 @@
% Defines a new floating environment to use for floated listings.
%
% \begin{macrocode}
-\newfloat{listing}{h}{lol}
+\@ifundefined{minted@float@within}
+ {\newfloat{listing}{h}{lol}}
+ {\newfloat{listing}{h}{lol}[\minted@float@within]}
% \end{macrocode}
% \end{environment}
%
@@ -1090,14 +1269,15 @@
%
% Check whether LaTeX was invoked with |-shell-escape| option.
%
+% \changes{1.7}{2011/01/21}{More robust detection of the \texttt{-shell-escape} option}
% \begin{macrocode}
\AtEndOfPackage{
- \ifeof18
+ \ifnum\pdf@shellescape=1\relax\else
\PackageError{minted}
{You must invoke LaTeX with the
-shell-escape flag}
{Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
- documentation for more information.}\fi}
+ documentation for more information.}\fi
% \end{macrocode}
%
% Check whether \app{pygmentize} is installed.
@@ -1110,7 +1290,7 @@
to use this package}
{Refer to the installation instructions in the minted
documentation for more information.}
- \fi
+ \fi}
% \end{macrocode}
%
% \Finale
diff --git a/Master/texmf-dist/source/latex/minted/minted.ins b/Master/texmf-dist/source/latex/minted/minted.ins
index 48eb59a717a..6efb25c770c 100644
--- a/Master/texmf-dist/source/latex/minted/minted.ins
+++ b/Master/texmf-dist/source/latex/minted/minted.ins
@@ -1,8 +1,9 @@
\input docstrip.tex
\keepsilent
+\askforoverwritefalse
\preamble
-Copyright 2010 Konrad Rudolph
+Copyright 2010--2011 Konrad Rudolph
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -19,8 +20,8 @@ This work has the LPPL maintenance status `maintained'.
The Current Maintainer of this work is Konrad Rudolph.
-This work consists of the files mints.dtx and mints.ins
-and the derived file mints.sty.
+This work consists of the files minted.dtx and minted.ins
+and the derived file minted.sty.
\endpreamble
\usedir{tex/latex/minted}
@@ -28,3 +29,4 @@ and the derived file mints.sty.
\generate{\file{minted.sty}{\from{minted.dtx}{package}}}
\endbatchfile
+% vim: ft=tex