aboutsummaryrefslogtreecommitdiff
path: root/src/share
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-10-26 03:02:52 +0000
committerdos-reis <gdr@axiomatics.org>2009-10-26 03:02:52 +0000
commit280fb471191bf68be050a8e13a620262705b56d4 (patch)
treef1056999b2fdc500ee2768e178468b503fcd13e0 /src/share
parentd9bb3b6ba4d75814b63b3308e333f9d3ad8a85ee (diff)
downloadopen-axiom-280fb471191bf68be050a8e13a620262705b56d4.tar.gz
* share/tex/open-axiom.sty: New.
* share/Makefile.in (FILES): Update. ($(axiom_target_texdir)/open-axiom.sty): New rule. * lib/cfuns-c.c (oa_spawn)[__WIN32__]: Return exit status if in overlay mode. * include/open-axiom.h (OPENAXIOM_TEXINPUTS_PATH): Tidy. (OPENAXIOM_BIBINPUTS_PATH): Likewise. * driver/utils.c (print_usage): Document --execute option.
Diffstat (limited to 'src/share')
-rw-r--r--src/share/Makefile.in12
-rw-r--r--src/share/tex/open-axiom.sty76
2 files changed, 86 insertions, 2 deletions
diff --git a/src/share/Makefile.in b/src/share/Makefile.in
index 6939be5b..f4813bad 100644
--- a/src/share/Makefile.in
+++ b/src/share/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2008, Gabriel Dos Reis.
+# Copyright (C) 2007-2009, Gabriel Dos Reis.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,10 @@
subdir = src/share/
-FILES=$(axiom_target_libdir)/command.list
+FILES = \
+ $(axiom_target_libdir)/command.list \
+ $(axiom_target_texdir)/open-axiom.sty
+
.SUFFIXES:
.PHONY: all all-share
@@ -54,3 +57,8 @@ distclean-local: clean-local
$(axiom_target_libdir)/command.list: $(srcdir)/algebra/command.list
cp -p $< $@
+
+$(axiom_target_texdir)/open-axiom.sty: $(axiom_src_texdir)/open-axiom.sty
+ $(mkdir_p) "$(axiom_target_texdir)"
+ cp -p $< $@
+
diff --git a/src/share/tex/open-axiom.sty b/src/share/tex/open-axiom.sty
new file mode 100644
index 00000000..13ca2c0d
--- /dev/null
+++ b/src/share/tex/open-axiom.sty
@@ -0,0 +1,76 @@
+%% Copyright (C) 2009, Gabriel Dos Reis
+%% All rights reserved.
+%% Redistribution and use in source and binary forms, with or without
+%% modification, are permitted provided that the following conditions are
+%% met:
+%%
+%% - Redistributions of source code must retain the above copyright
+%% notice, this list of conditions and the following disclaimer.
+%%
+%% - Redistributions in binary form must reproduce the above copyright
+%% notice, this list of conditions and the following disclaimer in
+%% the documentation and/or other materials provided with the
+%% distribution.
+%%
+%% - Neither the name of The Numerical Algorithms Group Ltd. nor the
+%% names of its contributors may be used to endorse or promote products
+%% derived from this software without specific prior written permission.
+%%
+%% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+%% IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+%% TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+%% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+%% OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+%% EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+%% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+%% PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+%% LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+%% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+%% SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{open-axiom}[2009/10/11 OpenAxiom LaTeX package]
+
+%% We build on top of the listings package
+\RequirePackage{listings}
+
+
+%% The base Spad language
+\lstdefinelanguage{Spad}{%
+ keywords={add,and,break,case,else,false,for,has,if,import,%
+ in,is,isnt,iterate,macro,mod,or,pretend,%
+ quot,rem,rule,repeat,return,then,true,with,where,while},%
+ otherkeywords={->,<,<=,>,>=,=,==,~=,=>,\#,::,\@,\$,|},%
+ alsoletter={\%},%
+ comment=[l]{++},%
+ morecomment=[l]{--},%
+ morestring=[b]",%
+ sensitive=true
+}
+
+%% OpenAxiom's Spad
+\lstdefinelanguage[OpenAxiom]{Spad}[]{Spad}{%
+ morecomment=[l][\itshape\bfseries]{++}
+}
+
+\lstdefinestyle{spad}{%
+ language=[OpenAxiom]spad,%
+ basicstyle=\renewcommand{\ttdefault}{txtt}\footnotesize\ttfamily,%
+ columns=flexible,%
+ showstringspaces=false
+}
+
+%% Inline Spad code
+%% FIXME: This definition prohibits '!' as valid identifier
+%% in inline Spad code. That is unfortunate.
+\newcommand{\OpenAxiomCode}[1]{\lstinline[style=Spad]!#1!}
+
+%% The main inout environment
+\lstnewenvironment{OpenAxiomInput}{\lstset{style=spad}}{}
+
+%% Include a whole Spad file
+\newcommand{\OpenAxiomFile}[1]{\lstinputlisting[style=Spad]{#1}}
+
+%% Some legacy commands
+\newcommand{\spad}[1]{\ensuremath{\mathtt{#1}}}