diff --git a/books/axiom.sty b/books/axiom.sty
index 013d0b7..4665455 100644
--- a/books/axiom.sty
+++ b/books/axiom.sty
@@ -317,6 +317,21 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
+%% shows the signature of a lisp function so
+%% \sig{mkprompt}{Void}{String}
+%% generates
+%% {\bf mkprompt} : {\bf Void} $->$ {\bf String}
+%% which formats to
+%% mkprompt : Void -> String
+%% and an index of mkprompt under signatures
+%%
+
+\newcommand{\sig}[3]{% e.g. \sig{thisfunc}{In}{Out}
+{\bf #1} : {\bf #2} $\rightarrow$ {\bf #3}%
+\index{signatures!#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
%% calls marks a call from this function to another
%%
diff --git a/changelog b/changelog
index 4fb1bcc..6b27e09 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20140912 tpd src/axiom-website/patches.html 20140912.01.tpd.patch
+20140912 tpd books/axiom.sty add the sig markup
20140907 tpd src/axiom-website/patches.html 20140907.01.tpd.patch
20140907 tpd src/input/Makefile add groeb.input
20140907 tpd src/input/groeb.input test case for groebner basis
diff --git a/patch b/patch
index 09aaa08..d04f03d 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,9 @@
-src/input/groeb.input test case for groebner basis
+books/axiom.sty add the sig markup
-write some tests for the groebner basis code
+Shows the signature of a lisp function so
+ \sig{mkprompt}{Void}{String}
+generates
+ {\bf mkprompt} : {\bf Void} $->$ {\bf String}
+which formats to
+ mkprompt : Void -> String
+and an index of mkprompt under signatures
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index bb24bb7..4a3bbcb 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4632,6 +4632,8 @@ books/bookvol10.4 add graphviz package
books/bookvol10.3 add SparseEchelonMatrix domain
20140907.01.tpd.patch
src/input/groeb.input test case for groebner basis
+20140912.01.tpd.patch
+books/axiom.sty add the sig markup