diff --git a/NEWS.rst b/NEWS.rst
index 07aa6f7..26d54ca 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -7,6 +7,82 @@ Version History
===============
+v0.13 (2014/07/14)
+------------------
+
+New features
+~~~~~~~~~~~~
+
+* Added ``--interactive`` command-line option. This runs a single
+ session in interactive mode, allowing user input. Among other things,
+ this is useful when working with debuggers.
+
+* Added ``--debug`` command-line option. This runs a single session
+ with the default debugger in interactive mode. Currently, only
+ standard (non-console) Python sessions are supported. The default
+ Python debugger is the new ``syncpdb``, which wraps ``pdb`` and
+ synchronizes code line numbers with document line numbers. All
+ ``pdb`` commands that take a line number or filename:lineno as an
+ argument will refer to document files and line numbers when the
+ argument has a percent symbol (``%``) as a prefix. For example,
+ ``list %50`` lists code that came from around line 50 in the
+ document. The ``--debug`` option will support other languages and
+ provide for customization in the future.
+
+* Added command-line option ``--jobs``, which allows the maximum number
+ of concurrent processes to be specified (#35).
+
+* Added support for GNU Octave, via the ``octave`` family of commands
+ and environments (#36). Parsing of Octave stderr is not ideal, though
+ synchronization works in most cases; this will be addressed by a
+ future rewrite of the stderr parser.
+
+* Installer now automatically works with MiKTeX, not just TeX Live.
+
+* The PythonTeX utilities class has a new ``open()`` method that opens
+ files and automatically tracks dependencies/created files.
+
+* When ``pythontex2.py`` and ``pythontex3.py`` are run directly, the
+ Python interpreter is automatically set to a reasonable default
+ (``py -2`` or ``py -3`` under Windows, using the Python 3.3+ wrapper;
+ ``python2`` or ``python3`` under other systems).
+
+* The installer now creates symlinks for the numbered scripts
+ ``pythontex*.py`` and ``depythontex*.py``.
+
+* Added Python version checking to all numbered scripts.
+
+* Under Python, the type of data passed via ``\setpythontexcontext`` may
+ now be set using YAML-style tags (``!!str``, ``!!int``, ``!!float``). For
+ example, ``{myint=!!int 123}``.
+
+* The ``fancyvrb`` options ``firstline`` and ``lastline`` now work with
+ the ``pygments`` environment and ``\inputpygments`` command. This required
+ some additional patching of ``fancyvrb``.
+
+* The ``pytx@Verbatim`` and ``pytx@SaveVerbatim`` environments are now
+ used for typesetting verbatim code. These are copies of the
+ ``fancyvrb`` environments. This prevents conflicts when literal
+ ``Verbatim`` and ``SaveVerbatim`` environments need to be typeset.
+
+* Improved ``latexmk`` compatibility (#40). Added discussion of
+ ``latexmk`` usage to documentation.
+
+* Tildes ``~`` may now be used in ``outputdir`` and ``workingdir`` to
+ refer to the user’s home directory, even under Windows.
+
+Bugfixes
+~~~~~~~~
+
+* Fixed a bug that prevented created files from being cleaned up when
+ the working directory was not the document root directory and the
+ full path to the files was not provided.
+
+* Fixed a bug that prevented the ``fvextfile`` option from working when
+ external files were highlighted.
+
+
+
v0.13-beta (2014/02/06)
-----------------------
@@ -14,29 +90,80 @@ New features
~~~~~~~~~~~~
* Switching to GitHub's Releases for downloads.
-* TeX information such as page dimensions may now be easily passed to the programming-language side, using the new ``\setpythontexcontext`` command. Contextual information is stored in the ``context`` attribute of the utilities class, which is a dictionary (and also has attributes in Python).
-* The utilities class now has ``pt_to_in()``, ``pt_to_cm()``, and ``pt_to_mm()`` methods for converting units of TeX points into inches, centimeters, and millimeters. These work with integers and floats, as well as strings that consist of numbers and optionally end in "pt". There is also a ``pt_to_bp()`` for converting TeX points (1/72.27 inch) into big (DTP or PostScript) points (1/72 inch).
-* Expanded Quickstart. Quickstart is now compatible with all LaTeX engines. Quickstart now avoids ``microtype`` issues on some systems (\#32).
-* Added information on citing PythonTeX (\#28).
-* Utilities class has a new attribute ``id``, which is a string that joins the command family name, session name, and session restart parameters with underscores. This may be used in creating files that need a name that contains a unique, session-based identifier (for example, names for figures that are saved automatically).
+
+* TeX information such as page dimensions may now be easily passed to the
+ programming-language side, using the new ``\setpythontexcontext`` command.
+ Contextual information is stored in the ``context`` attribute of the
+ utilities class, which is a dictionary (and also has attributes in Python).
+
+* The utilities class now has ``pt_to_in()``, ``pt_to_cm()``, and
+ ``pt_to_mm()`` methods for converting units of TeX points into inches,
+ centimeters, and millimeters. These work with integers and floats, as
+ well as strings that consist of numbers and optionally end in "pt". There
+ is also a ``pt_to_bp()`` for converting TeX points (1/72.27 inch) into big
+ (DTP or PostScript) points (1/72 inch).
+
+* Expanded Quickstart. Quickstart is now compatible with all LaTeX engines.
+ Quickstart now avoids ``microtype`` issues on some systems (#32).
+
+* Added information on citing PythonTeX (#28).
+
+* Utilities class has a new attribute ``id``, which is a string that joins
+ the command family name, session name, and session restart parameters with
+ underscores. This may be used in creating files that need a name that
+ contains a unique, session-based identifier (for example, names for
+ figures that are saved automatically).
Backward-incompatible changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-* All utilities-class attributes with names of the form ``input_*`` have been renamed with the "``input_``" removed. Among other things, this makes it easier to access the ``context`` attribute (``pytex.context`` vs. ``pytex.input_context``).
-* ``depythontex`` now has ``-o`` and ``--output`` command-line options for specifying the name of the output file. If an output file is not specified, then output is written to ``stdout``. This allows ``depythontex`` output to be piped to another program.
-* All scripts ``*2.py`` now have shebangs with ``env python2``, and all scripts ``*3.py`` now have shebangs with ``env python3``. This allows the wrapper scripts (``env python`` shebang) to be used with the default Python installation, and the numbered scripts to be used with specific versions. Remember that except for console content, the ``--interpreter`` option is what determines the Python version that actually executes code. The version of Python used to launch ``pythontex.py`` merely determines the version that manages code execution. (``--interpreter`` support for console content is coming.)
-* Changed the template style used in the ``CodeEngine`` class. Replacement fields are now surrounded by single curly braces (as in Python's format string syntax), rather than double curly braces. Literal curly braces are obtained by doubling braces. This allows the use of literal adjacent double braces in templates, which was not possible previously.
-* The Julia template now uses the new ``in()`` function, replacing ``contains()``. This requires Julia v0.2.0+.
+* All utilities-class attributes with names of the form ``input_*`` have
+ been renamed with the "``input_``" removed. Among other things, this
+ makes it easier to access the ``context`` attribute (``pytex.context``
+ vs. ``pytex.input_context``).
+
+* ``depythontex`` now has ``-o`` and ``--output`` command-line options for
+ specifying the name of the output file. If an output file is not
+ specified, then output is written to ``stdout``. This allows
+ ``depythontex`` output to be piped to another program.
+
+* All scripts ``*2.py`` now have shebangs with ``env python2``, and all
+ scripts ``*3.py`` now have shebangs with ``env python3``. This allows the
+ wrapper scripts (``env python`` shebang) to be used with the default
+ Python installation, and the numbered scripts to be used with specific
+ versions. Remember that except for console content, the ``--interpreter``
+ option is what determines the Python version that actually executes code.
+ The version of Python used to launch ``pythontex.py`` merely determines
+ the version that manages code execution. (``--interpreter`` support for
+ console content is coming.)
+
+* Changed the template style used in the ``CodeEngine`` class. Replacement
+ fields are now surrounded by single curly braces (as in Python's format
+ string syntax), rather than double curly braces. Literal curly braces are
+ obtained by doubling braces. This allows the use of literal adjacent
+ double braces in templates, which was not possible previously.
+
+* The Julia template now uses the new ``in()`` function, replacing
+ ``contains()``. This requires Julia v0.2.0+.
Bugfixes
~~~~~~~~
-* Modified test for LuaTeX, so that ``\directlua`` is not ``\let`` to ``\relax`` if it does not exist. This was causing incompatibility with ``babel`` under pdfTeX and XeTeX (\#33).
-* Added missing shebangs to ``depythontex*.py``. Handling of ``utilspath`` is now more forgiving, so that ``pythontex_utils.py`` can be installed in alternate locations (\#23).
-* ``depythontex`` no longer leaves a blank line where ``\usepackage{pythontex}`` was removed.
-* Console environments typeset with ``fancyvrb`` no longer end with an unnecessary empty line.
-* Fixed bug in installer when ``kpsewhich`` was not found (\#21).
+* Modified test for LuaTeX, so that ``\directlua`` is not ``\let`` to
+ ``\relax`` if it does not exist. This was causing incompatibility with
+ ``babel`` under pdfTeX and XeTeX (#33).
+
+* Added missing shebangs to ``depythontex*.py``. Handling of ``utilspath``
+ is now more forgiving, so that ``pythontex_utils.py`` can be installed in
+ alternate locations (#23).
+
+* ``depythontex`` no longer leaves a blank line where
+ ``\usepackage{pythontex}`` was removed.
+
+* Console environments typeset with ``fancyvrb`` no longer end with an
+ unnecessary empty line.
+
+* Fixed bug in installer when ``kpsewhich`` was not found (#21).
diff --git a/README.rst b/README.rst
index e26bb67..5ccc7b5 100644
--- a/README.rst
+++ b/README.rst
@@ -9,7 +9,7 @@
:Author: Geoffrey Poore
-:Version: 0.13-beta
+:Version: 0.13
:License: LPPL_ (LaTeX code) and `BSD 3-Clause`_ (Python code)
@@ -23,9 +23,9 @@ Overview
PythonTeX provides fast, user-friendly access to Python from within LaTeX. It allows Python code entered within a LaTeX document to be executed, and the results to be included within the original document. It also provides syntax highlighting for code within LaTeX documents via the Pygments syntax highlighter.
-PythonTeX also provides support for Ruby and Julia. Support for additional languages is coming soon.
+PythonTeX also provides support for Ruby, Julia, and Octave. Support for additional languages is coming soon.
-See ``pythontex.pdf`` for detailed installation instructions, or use the installation script for TeX Live. See ``pythontex_quickstart.pdf`` to get started, and ``pythontex_gallery.pdf`` for examples of what is possible with PythonTeX.
+See ``pythontex.pdf`` for detailed installation instructions, or use the installation script for TeX Live and MiKTeX. See ``pythontex_quickstart.pdf`` to get started, and ``pythontex_gallery.pdf`` for examples of what is possible with PythonTeX.
The ``depythontex`` utility creates a copy of a PythonTeX document in which all Python code has been replaced by its output. This plain LaTeX document is more suitable for journal submission, sharing, or conversion to other document formats. See ``pythontex_gallery.html`` and the accompanying conversion script for an example of a PythonTeX document that was converted to HTML via ``depythontex`` and `Pandoc `_.
@@ -41,36 +41,79 @@ Latest release
(Full release history is available `here `_.)
-v0.13-beta (2014/02/06)
------------------------
+v0.13 (2014/07/14)
+------------------
New features
~~~~~~~~~~~~
-* Switching to GitHub's Releases for downloads.
-* TeX information such as page dimensions may now be easily passed to the programming-language side, using the new ``\setpythontexcontext`` command. Contextual information is stored in the ``context`` attribute of the utilities class, which is a dictionary (and also has attributes in Python).
-* The utilities class now has ``pt_to_in()``, ``pt_to_cm()``, and ``pt_to_mm()`` methods for converting units of TeX points into inches, centimeters, and millimeters. These work with integers and floats, as well as strings that consist of numbers and optionally end in "pt". There is also a ``pt_to_bp()`` for converting TeX points (1/72.27 inch) into big (DTP or PostScript) points (1/72 inch).
-* Expanded Quickstart. Quickstart is now compatible with all LaTeX engines. Quickstart now avoids ``microtype`` issues on some systems (\#32).
-* Added information on citing PythonTeX (\#28).
-* Utilities class has a new attribute ``id``, which is a string that joins the command family name, session name, and session restart parameters with underscores. This may be used in creating files that need a name that contains a unique, session-based identifier (for example, names for figures that are saved automatically).
+* Added ``--interactive`` command-line option. This runs a single
+ session in interactive mode, allowing user input. Among other things,
+ this is useful when working with debuggers.
-Backward-incompatible changes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Added ``--debug`` command-line option. This runs a single session
+ with the default debugger in interactive mode. Currently, only
+ standard (non-console) Python sessions are supported. The default
+ Python debugger is the new ``syncpdb``, which wraps ``pdb`` and
+ synchronizes code line numbers with document line numbers. All
+ ``pdb`` commands that take a line number or filename:lineno as an
+ argument will refer to document files and line numbers when the
+ argument has a percent symbol (``%``) as a prefix. For example,
+ ``list %50`` lists code that came from around line 50 in the
+ document. The ``--debug`` option will support other languages and
+ provide for customization in the future.
-* All utilities-class attributes with names of the form ``input_*`` have been renamed with the "``input_``" removed. Among other things, this makes it easier to access the ``context`` attribute (``pytex.context`` vs. ``pytex.input_context``).
-* ``depythontex`` now has ``-o`` and ``--output`` command-line options for specifying the name of the output file. If an output file is not specified, then output is written to ``stdout``. This allows ``depythontex`` output to be piped to another program.
-* All scripts ``*2.py`` now have shebangs with ``env python2``, and all scripts ``*3.py`` now have shebangs with ``env python3``. This allows the wrapper scripts (``env python`` shebang) to be used with the default Python installation, and the numbered scripts to be used with specific versions. Remember that except for console content, the ``--interpreter`` option is what determines the Python version that actually executes code. The version of Python used to launch ``pythontex.py`` merely determines the version that manages code execution. (``--interpreter`` support for console content is coming.)
-* Changed the template style used in the ``CodeEngine`` class. Replacement fields are now surrounded by single curly braces (as in Python's format string syntax), rather than double curly braces. Literal curly braces are obtained by doubling braces. This allows the use of literal adjacent double braces in templates, which was not possible previously.
-* The Julia template now uses the new ``in()`` function, replacing ``contains()``. This requires Julia v0.2.0+.
+* Added command-line option ``--jobs``, which allows the maximum number
+ of concurrent processes to be specified (#35).
+
+* Added support for GNU Octave, via the ``octave`` family of commands
+ and environments (#36). Parsing of Octave stderr is not ideal, though
+ synchronization works in most cases; this will be addressed by a
+ future rewrite of the stderr parser.
+
+* Installer now automatically works with MiKTeX, not just TeX Live.
+
+* The PythonTeX utilities class has a new ``open()`` method that opens
+ files and automatically tracks dependencies/created files.
+
+* When ``pythontex2.py`` and ``pythontex3.py`` are run directly, the
+ Python interpreter is automatically set to a reasonable default
+ (``py -2`` or ``py -3`` under Windows, using the Python 3.3+ wrapper;
+ ``python2`` or ``python3`` under other systems).
+
+* The installer now creates symlinks for the numbered scripts
+ ``pythontex*.py`` and ``depythontex*.py``.
+
+* Added Python version checking to all numbered scripts.
+
+* Under Python, the type of data passed via ``\setpythontexcontext`` may
+ now be set using YAML-style tags (``!!str``, ``!!int``, ``!!float``). For
+ example, ``{myint=!!int 123}``.
+
+* The ``fancyvrb`` options ``firstline`` and ``lastline`` now work with
+ the ``pygments`` environment and ``\inputpygments`` command. This required
+ some additional patching of ``fancyvrb``.
+
+* The ``pytx@Verbatim`` and ``pytx@SaveVerbatim`` environments are now
+ used for typesetting verbatim code. These are copies of the
+ ``fancyvrb`` environments. This prevents conflicts when literal
+ ``Verbatim`` and ``SaveVerbatim`` environments need to be typeset.
+
+* Improved ``latexmk`` compatibility (#40). Added discussion of
+ ``latexmk`` usage to documentation.
+
+* Tildes ``~`` may now be used in ``outputdir`` and ``workingdir`` to
+ refer to the user’s home directory, even under Windows.
Bugfixes
~~~~~~~~
-* Modified test for LuaTeX, so that ``\directlua`` is not ``\let`` to ``\relax`` if it does not exist. This was causing incompatibility with ``babel`` under pdfTeX and XeTeX (\#33).
-* Added missing shebangs to ``depythontex*.py``. Handling of ``utilspath`` is now more forgiving, so that ``pythontex_utils.py`` can be installed in alternate locations (\#23).
-* ``depythontex`` no longer leaves a blank line where ``\usepackage{pythontex}`` was removed.
-* Console environments typeset with ``fancyvrb`` no longer end with an unnecessary empty line.
-* Fixed bug in installer when ``kpsewhich`` was not found (\#21).
+* Fixed a bug that prevented created files from being cleaned up when
+ the working directory was not the document root directory and the
+ full path to the files was not provided.
+
+* Fixed a bug that prevented the ``fvextfile`` option from working when
+ external files were highlighted.
Objectives for future releases
diff --git a/pythontex/README b/pythontex/README
index 3c7247e..a25421f 100644
--- a/pythontex/README
+++ b/pythontex/README
@@ -3,7 +3,7 @@
===================================================================
:Author: Geoffrey Poore
-:Version: 0.12 (2013/08/26)
+:Version: 0.13 (2014/07/14)
:License: LPPL v1.3 or later (LaTeX code) and BSD 3-Clause (Python code)
:Development: https://github.com/gpoore/pythontex
:Requirements: Python 2.7 or 3.2+; Pygments
@@ -11,7 +11,7 @@
The PythonTeX package allows you to enter Python code within a LaTeX
document, execute the code, and access its output in the original document.
-Since v0.12, it also supports the Ruby and Julia languages.
+It also supports the Ruby, Julia, and Octave languages.
PythonTeX provides fast, user-friendly access to Python from within LaTeX.
Python code is only executed when it has been modified, or when it meets
@@ -37,8 +37,8 @@ Compiling a PythonTeX document involves three steps:
3. Run latex again (Python output is inputted)
See the main documentation in pythontex.pdf for detailed installation
-instructions. An installation script is provided for TeX Live. Files
-should be installed in the directories indicated below. In summary,
+instructions. An installation script is provided for TeX Live and MiKTeX.
+Files should be installed in the directories indicated below. In summary,
all files must be installed, and symlinks or launching wrappers should be
created for pythontex.py and depythontex.py.
@@ -57,6 +57,7 @@ created for pythontex.py and depythontex.py.
- pythontex_engines.py
- pythontex_utils.py
- depythontex.py, depythontex2.py, and depythontex3.py
+ - syncpdb.py
* /source/latex/pythontex/
diff --git a/pythontex/depythontex2.py b/pythontex/depythontex2.py
index 2f8a6a8..cc6f30b 100644
--- a/pythontex/depythontex2.py
+++ b/pythontex/depythontex2.py
@@ -86,7 +86,7 @@
# Script parameters
# Version
-version = 'v0.13-beta'
+version = 'v0.13'
# Functions and parameters for customizing the script output
diff --git a/pythontex/depythontex3.py b/pythontex/depythontex3.py
index 6076f39..eef2f75 100644
--- a/pythontex/depythontex3.py
+++ b/pythontex/depythontex3.py
@@ -86,7 +86,7 @@
# Script parameters
# Version
-version = 'v0.13-beta'
+version = 'v0.13'
# Functions and parameters for customizing the script output
diff --git a/pythontex/pythontex.dtx b/pythontex/pythontex.dtx
index 1e04dec..cdba66c 100644
--- a/pythontex/pythontex.dtx
+++ b/pythontex/pythontex.dtx
@@ -26,7 +26,7 @@
%\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%\ProvidesPackage{pythontex}
%<*package>
- [2014/02/06 Version~0.13-beta ]
+ [2014/07/14 Version~0.13 ]
%
%
%<*driver>
@@ -86,21 +86,21 @@
% Right brace \} Tilde \~}
%
%
-% \begin{changelog}{v0.13}{2014/03/??}
+% \begin{changelog}{v0.13}{2014/07/14}
% \textbf{New features}
% \begin{itemize}
-% \item Added \texttt{-{}-debug} command-line option. This runs a single session with the default debugger. Currently, only standard (non-console) Python sessions are supported. The default Python debugger is the new \texttt{syncpdb}, which wraps \texttt{pdb} and synchronizes code line numbers with document line numbers. All \texttt{pdb} commands that take a line number or filename:lineno as an argument will refer to document files and line numbers when the argument has a percent symbol (\texttt{\%}) as a prefix. For example, \texttt{list \%50} lists code that came from around line 50 in the document. The \texttt{-{}-debug} option will support other languages and provide for customization in the future.
-% \item Added \texttt{-{}-interactive} command-line option. This runs a single session in interactive mode, allowing user input. This is useful when working with debuggers.
+% \item Added \texttt{-{}-interactive} command-line option. This runs a single session in interactive mode, allowing user input. Among other things, this is useful when working with debuggers.
+% \item Added \texttt{-{}-debug} command-line option. This runs a single session with the default debugger in interactive mode. Currently, only standard (non-console) Python sessions are supported. The default Python debugger is the new \texttt{syncpdb}, which wraps \texttt{pdb} and synchronizes code line numbers with document line numbers. All \texttt{pdb} commands that take a line number or filename:lineno as an argument will refer to document files and line numbers when the argument has a percent symbol (\texttt{\%}) as a prefix. For example, \texttt{list \%50} lists code that came from around line 50 in the document. The \texttt{-{}-debug} option will support other languages and provide for customization in the future.
% \item Added command-line option \texttt{-{}-jobs}, which allows the maximum number of concurrent processes to be specified (\#35).
% \item Added support for GNU Octave, via the \texttt{octave} family of commands and environments (\#36). Parsing of Octave stderr is not ideal, though synchronization works in most cases; this will be addressed by a future rewrite of the stderr parser.
% \item Installer now automatically works with MiKTeX, not just TeX Live.
-% \item The \pytex\ utilities class has a new \texttt{open()} method that opens files and automatically tracks dependencies/created files.
+% \item The PythonTeX utilities class has a new \texttt{open()} method that opens files and automatically tracks dependencies/created files.
% \item When \texttt{pythontex2.py} and \texttt{pythontex3.py} are run directly, the Python interpreter is automatically set to a reasonable default (\texttt{py -2} or \texttt{py -3} under Windows, using the Python 3.3+ wrapper; \texttt{python2} or \texttt{python3} under other systems).
% \item The installer now creates symlinks for the numbered scripts \texttt{pythontex*.py} and \texttt{depythontex*.py}.
% \item Added Python version checking to all numbered scripts.
-% \item ??? Under Python, the type of data passed via \texttt{\string\setpythontexcontext} may now be set using YAML-style tags (\texttt{!!str}, \texttt{!!int}, \texttt{!!float}). For example, \texttt{\string\setpythontexcontext\{myint=!!int 123\}}. This system is still under development and is subject to change in the future.
+% \item Under Python, the type of data passed via \texttt{\string\setpythontexcontext} may now be set using YAML-style tags (\texttt{!!str}, \texttt{!!int}, \texttt{!!float}). For example, \texttt{\string\setpythontexcontext\{myint=!!int 123\}}.
% \item The \texttt{fancyvrb} options \texttt{firstline} and \texttt{lastline} now work with the \texttt{pygments} environment and \texttt{\string\inputpygments} command. This required some additional patching of \texttt{fancyvrb}.
-% \item The \texttt{pytx@Verbatim} and \texttt{pytx@SaveVerbatim} environments are now used for verbatim code. These are copies of the |fancyvrb| environments. This prevents conflicts when literal \texttt{Verbatim} and \texttt{SaveVerbatim} environments need to be typeset.
+% \item The \texttt{pytx@Verbatim} and \texttt{pytx@SaveVerbatim} environments are now used for typesetting verbatim code. These are copies of the \texttt{fancyvrb} environments. This prevents conflicts when literal \texttt{Verbatim} and \texttt{SaveVerbatim} environments need to be typeset.
% \item Improved \texttt{latexmk} compatibility (\#40). Added discussion of \texttt{latexmk} usage to documentation.
% \item Tildes \texttt{\string~} may now be used in \texttt{outputdir} and \texttt{workingdir} to refer to the user's home directory, even under Windows.
% \end{itemize}
@@ -550,7 +550,7 @@
%
% \DescribeMacro{usefamily=\meta{basename}/\marg{basename1,~basename2,~...}}
%
-% By default, only the |py|, |sympy|, and |pylab| families of commands and environments are defined, to prevent possible package conflicts.\footnote{For example, a \texttt{\string\ruby} command for Ruby code, and the \texttt{\string\ruby} command defined by the Ruby package in the \href{http://www.ctan.org/pkg/cjk}{CJK package}.} This option defines preconfigured families for other available languages. It takes either a single language base name, or a list of comma-separated names enclosed in curly braces. Currently, the Ruby families |rb| and |ruby| and the Julia families |jl| and |julia| may be created.
+% By default, only the |py|, |sympy|, and |pylab| families of commands and environments are defined, to prevent possible package conflicts.\footnote{For example, a \texttt{\string\ruby} command for Ruby code, and the \texttt{\string\ruby} command defined by the Ruby package in the \href{http://www.ctan.org/pkg/cjk}{CJK package}.} This option defines preconfigured families for other available languages. It takes either a single language base name, or a list of comma-separated names enclosed in curly braces. Currently, the Ruby families |rb| and |ruby|, the Julia families |jl| and |julia|, and the Octave family |octave| may be created.
%
%
% \DescribeMacro{gobble=none/auto default:none}
@@ -1208,7 +1208,7 @@
%\end{verbatim}
% This tells |latexmk| that the document (|tex|) depends on the file of code extracted from the document (|pytxcode|).\footnote{This is a slightly atypical use, if not a ``misuse,'' of \texttt{add\_cus\_dep()}. In the standard usage, the first argument is the extension of a file that is used to create another file with the extension given in the second argument, via the rule named in the fourth argument. In this case, we just want to run the rule whenever files with the first extension are modified. The extension given in the second argument is irrelevant, so long as a file with the document name and that extension exists. Since the \texttt{tex} file itself will exist, its extension is a logical choice for the second argument.} Whenever the document is compiled, the file of code is updated. If |latexmk| detects that the code changed, then it will run \pytex. When \pytex\ runs, it will modify at least one file that is brought into the document. |latexmk| will detect this modification, and automatically recompile the document.
%
-% If you are compiling to a different directory (using |-auxdir|, |-outdir|, or |$out_dir|, or alternatively |TEXINPUTS|), then this rule may fail due to the different directory configuration. In that case, you should use |\setpythontexoutputdir{.}| so that \pytex\ will store its output in the current default location, rather than in a subdirectory. Since the |tex| source is no longer in the location of the compiled output, you also need a different dependency specification. It is probably simplest to use the |pytxmcr| file that \pytex\ always generates.
+% If you are compiling to a different directory (using |-auxdir|, |-outdir|, or |$out_dir|, or alternatively |TEXINPUTS|), then this rule may fail due to the different directory configuration. In that case, you should use |\setpythontexoutputdir{.}| so that \pytex\ will store its output in the current default location, rather than in a subdirectory, to ensure that |latexmk| will locate the output files. Since the |tex| source is no longer in the location of the compiled output, you also need a different dependency specification. It is probably simplest to use the |pytxmcr| file that \pytex\ always generates.
%\begin{verbatim}
%add_cus_dep('pytxcode','pytxmcr',0,'pythontex');
%sub pythontex { return system("pythontex.py \"$_[0]\""); }
@@ -1445,7 +1445,7 @@
%
% The working directory should be added to the module search path (Python |sys.path|, Ruby |$:| or |$LOAD_PATH|, etc.), unless it is the same as the document root directory or is otherwise already on the module search path.
% \item For full compatibility, the template should have an |{extend}| field where additional module imports or other code may be inserted. This allows a basic template to be a created for each language. The basic template may then be customized for specific purposes. The |{extend}| field should be after the utilities class instance has been created, so that the workings of the utilities class (|formatter()|, |before()|, |after()|, etc.) may be customized by it.
-% \item \LaTeX-related variables of the utilities class instance that do not change should be set. These use the fields |{input_family}|, |{input_session}|, and |{input_restart}|; all should be strings. These variables should be named after the fields if possible (for example, |pytex.input_family|). These variables are not strictly necessary, but they allow user code to access information about its origin on the \TeX\ side.
+% \item \LaTeX-related variables of the utilities class instance that do not change should be set. These use the fields |{family}|, |{session}|, and |{restart}|; all should be strings. These variables should be named after the fields if possible (for example, |pytex.family|). These variables are not strictly necessary, but they allow user code to access information about its origin on the \TeX\ side.
% \item There should be a |{body}| field where the body of the script is inserted.
% \item The script should end by calling the |cleanup()| method.
% \end{itemize}
@@ -1453,10 +1453,10 @@
% \subsubsection{Wrapper}
% Each chunk of user code is inserted into a wrapper template. This performs the following tasks.
% \begin{itemize}
-% \item Set additional \LaTeX-related utilities variables: |{input_command}|, |{input_context}|, |{input_args}|, |{input_instance}|, |{input_line}|. They are not required, but make possible closer \LaTeX\ integration. |{input_args}| is not yet supported on the \LaTeX\ side, but will allow arguments from \LaTeX\ commands to be passed to user code.
+% \item Set additional \LaTeX-related utilities variables: |{command}|, |{context}|, |{args}|, |{instance}|, |{line}|. They are not required, but make possible closer \LaTeX\ integration. |{args}| is not yet supported on the \LaTeX\ side, but will allow arguments from \LaTeX\ commands to be passed to user code.
%
-% All utilities variables should be stored as strings, except for |input_context| and |input_args|. If possible, these should be dictionaries or equivalent associative arrays of string keys that point to string values. The dictionaries should be created by processing |{input_context}| and |{input_args}| into comma-separated lists of key-value pairs. For example, if |{input_context}| is the string ``|k1=v1, k2=v2|'', then |pytex.input_context| should be a dictionary, and |pytex.input_context['k1']| should yield the string ``|v1|''. The key-value pairs may optionally be accessed as attributes, when this is possible with a given language. For example, |pytex.input_context.k1| could yield the string ``|v1|''.
-% \item Write a delimiter |{stdout_delim}| to |stdout| and a delimiter |{stderr_delim}| to |stderr|. Both delimiters should be strings. Both should be written in such a way that the delimiter is followed by a newline; the delimiters that are inserted in the wrapper template \textbf{do not} contain a newline.\footnote{This way, we don't have to assume that all languages will use \texttt{\string\n} for the newline character.} For example, something like |"{stderr_delim}\n"| might be necessary. The delimiters contain no backslashes or quotation marks.
+% All utilities variables should be stored as strings, except for |context| and |args|. If possible, these should be dictionaries or equivalent associative arrays of string keys that point to string values. The dictionaries should be created by processing |{context}| and |{args}| into comma-separated lists of key-value pairs. For example, if |{context}| is the string ``|k1=v1, k2=v2|'', then |pytex.context| should be a dictionary, and |pytex.context['k1']| should yield the string ``|v1|''. The key-value pairs may optionally be accessed as attributes, when this is possible with a given language. For example, |pytex.context.k1| could yield the string ``|v1|''.
+% \item Write a delimiter |{stdoutdelim}| to |stdout| and a delimiter |{stderrdelim}| to |stderr|. Both delimiters should be strings. Both should be written in such a way that the delimiter is followed by a newline; the delimiters that are inserted in the wrapper template \textbf{do not} contain a newline.\footnote{This way, we don't have to assume that all languages will use \texttt{\string\n} for the newline character.} For example, something like |"{stderrdelim}\n"| might be necessary. The delimiters contain no backslashes or quotation marks.
% \item Call |before()|.
% \item Have a |{code}| field into which the current chunk of user code is inserted.
% \item Call |after()|.
@@ -1638,7 +1638,7 @@
% We store the name of the package in a macro for later use in warnings and error messages.
% \begin{macrocode}
\newcommand{\pytx@packagename}{PythonTeX}
-\newcommand{\pytx@packageversion}{v0.13-beta}
+\newcommand{\pytx@packageversion}{v0.13}
% \end{macrocode}
%
% \subsection{Required packages}
diff --git a/pythontex/pythontex.pdf b/pythontex/pythontex.pdf
index 989ebf5..23d50da 100644
Binary files a/pythontex/pythontex.pdf and b/pythontex/pythontex.pdf differ
diff --git a/pythontex/pythontex.sty b/pythontex/pythontex.sty
index 771ca0d..500c20c 100644
--- a/pythontex/pythontex.sty
+++ b/pythontex/pythontex.sty
@@ -20,10 +20,10 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pythontex}
- [2014/02/06 Version~0.13-beta ]
+ [2014/07/14 Version~0.13 ]
\newcommand{\pytx@packagename}{PythonTeX}
-\newcommand{\pytx@packageversion}{v0.13-beta}
+\newcommand{\pytx@packageversion}{v0.13}
\RequirePackage{fancyvrb}
\RequirePackage{etex}
\RequirePackage{etoolbox}
diff --git a/pythontex/pythontex2.py b/pythontex/pythontex2.py
index e4596d7..d266616 100644
--- a/pythontex/pythontex2.py
+++ b/pythontex/pythontex2.py
@@ -77,7 +77,7 @@
# Script parameters
# Version
-version = 'v0.13-beta'
+version = 'v0.13'
diff --git a/pythontex/pythontex3.py b/pythontex/pythontex3.py
index b81bffd..1129b48 100644
--- a/pythontex/pythontex3.py
+++ b/pythontex/pythontex3.py
@@ -77,7 +77,7 @@
# Script parameters
# Version
-version = 'v0.13-beta'
+version = 'v0.13'
diff --git a/pythontex/syncpdb.py b/pythontex/syncpdb.py
index d736d24..fa4ee6e 100644
--- a/pythontex/syncpdb.py
+++ b/pythontex/syncpdb.py
@@ -114,6 +114,9 @@
import traceback
+__version__ = '0.1'
+
+
__all__ = ["run", "pm", "SyncPdb", "runeval", "runctx", "runcall", "set_trace",
"post_mortem", "help"]
diff --git a/pythontex_quickstart/pythontex_quickstart.pdf b/pythontex_quickstart/pythontex_quickstart.pdf
index b2d46b9..6d5d82d 100644
Binary files a/pythontex_quickstart/pythontex_quickstart.pdf and b/pythontex_quickstart/pythontex_quickstart.pdf differ
diff --git a/pythontex_quickstart/pythontex_quickstart.tex b/pythontex_quickstart/pythontex_quickstart.tex
index d342e55..01bd938 100644
--- a/pythontex_quickstart/pythontex_quickstart.tex
+++ b/pythontex_quickstart/pythontex_quickstart.tex
@@ -65,6 +65,7 @@ \section*{Compiling}
The last two compile steps are \emph{only} necessary when code needs to be executed or highlighted. Otherwise, the document may be compiled just like a normal \LaTeX\ document; all output is cached.
+\pytex\ is compatible with \texttt{latexmk}. Details for configuring \texttt{latexmk} are provided in the main documentation.
@@ -131,7 +132,7 @@ \section*{Working with Python 2}
\section*{Support for additional languages}
-\pytex\ also provides support for additional languages. Currently, Ruby and Julia support is included. To enable commands and environments for these language, see the \texttt{usefamily} package option in the main documentation.
+\pytex\ also provides support for additional languages. Currently, Ruby, Julia, and Octave support is included. To enable commands and environments for these language, see the \texttt{usefamily} package option in the main documentation.
Language support is provided via a template system; in most cases, a new language can be added with about 100 lines of template code. If you would like support for a new language, please open an issue at \href{https://github.com/gpoore/pythontex}{GitHub}. The main documentation also contains a summary of the process for adding languages.
@@ -146,6 +147,8 @@ \section*{Additional features}
\pytex\ also provides the \texttt{depythontex} utility, which creates a copy of a document in which all \pytex\ commands and environments have been replaced by their output. The resulting document is more suitable for journal submission, sharing, and conversion to other document formats.
+Code may be run in interactive mode via the \verb|--interactive| and \verb|--debug| command-line options. This is primarily useful for working with interactive debuggers.
+
\section*{Unicode support}