diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/Makefile texi2roff-2.0-ak/Makefile
--- texi2roff-2.0/Makefile	1992-02-20 19:16:36.000000000 +0100
+++ texi2roff-2.0-ak/Makefile	2025-02-08 17:27:03.549223297 +0100
@@ -19,7 +19,7 @@
 
 translate.o : texi2roff.h 
 
-table.o : texi2roff.h tablems.h tablemm.h tableme.h 
+table.o : texi2roff.h tablems.h tablemm.h tableme.h tableak.h
 
 items.o: texi2roff.h
 
diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/table.c texi2roff-2.0-ak/table.c
--- texi2roff-2.0/table.c	1992-02-20 19:16:37.000000000 +0100
+++ texi2roff-2.0-ak/table.c	2025-02-08 17:23:27.447437455 +0100
@@ -25,6 +25,7 @@
 #include "tablems.h"
 #include "tableme.h"
 #include "tablemm.h"
+#include "tableak.h"
 
 char indexmacro[] = ".de iX \n.tm \\\\$1   \\\\n%\n..\n";
 char trquotes[] = ".tr \\(is'\n.tr \\(if`\n.tr \\(pd\"\n";
@@ -32,13 +33,15 @@
 struct misccmds * cmds;
 struct tablerecd * table, * endoftable;
 
+static void patchtable();
+
+
 void
 initialize(macropkg, showInfo, makeindex)
 int macropkg;
 int showInfo;
 int makeindex;
 {
-    extern void patchtable();
     int tablesize;
 
     switch (macropkg) {
@@ -57,6 +60,11 @@
 	tablesize = sizeof metable;
 	cmds = &mecmds;
 	break;
+    case AK:
+	table = aktable;
+	tablesize = sizeof aktable;
+	cmds = &akcmds;
+	break;
     }
     endoftable = table + tablesize/sizeof table[0];
     if (showInfo == NO)
diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/tableak.h texi2roff-2.0-ak/tableak.h
--- texi2roff-2.0/tableak.h	1970-01-01 01:00:00.000000000 +0100
+++ texi2roff-2.0-ak/tableak.h	2002-11-02 22:07:21.000000000 +0100
@@ -0,0 +1,222 @@
+/*
+ * tableme.h - -me macros table and other explicit troff command strings
+ *		Release 1.0a	August 1988
+ *		Release 2.0	January 1990
+ *
+ * Copyright 1988, 1989, 1990  Beverly A.Erlebacher
+ * erlebach@cs.toronto.edu    ...uunet!utai!erlebach
+ *
+ */
+
+/* 
+ * miscellaneous commands, described in texi2roff.h 
+ */
+struct misccmds akcmds = {
+"'\\\" t\n.de TQ\n.br\n.ns\n.TP \\\\$1\n..\n",
+"\n.PP\n",
+"\n.IP\n",
+"\n.RS\n",
+"\n.RE\n" };
+
+struct tablerecd aktable[] = {
+    "@MANquote",        "\n",   "",             "\n",   "",     PARAGRAPH,
+    "@MANtitle",        "\n",   ".TH ",         "\n",   "",     PARAGRAPH,
+    "@MANskip",         "@MANend-skip",         "", "",     "", DISCARD,
+    "@*",		"",	"\n.br\n",	"",	"",	ESCAPED,
+    "@.",		"",	"\\&.",		"",	"",	ESCAPED,
+    "@:",		"",	"",		"",	"",	ESCAPED,
+    "@@",		"",	"@",		"",	"",	ESCAPED,
+    "@Arrow",		"\n",	"\\(rh",	"\n",	"",	CHAR,
+    "@TeX{",		"}",	"TeX",		"",	"",	INPARA,
+    "@appendix",	"\n",	
+     "\n.if !\\n(_- \\{\\\n.nr _- 1\n.nr $1 0 1\n.af $1 A\\}\n.bp\n.ds __ ",
+     "\n.sh 1 \\*(__ \n.(x \n\\n($1	\\*(__ \n.)x\n","\\fB",	HEADING,
+    "@appendixsec",	"\n",	"\n.ds __ ",
+	"\n.sh 2 \\*(__ \n.(x \n\\n($1.\\n($2      \\*(__ \n.)x\n",
+							"\\fB",	HEADING,
+    "@appendixsection",	"\n",	"\n.ds __ ",
+	"\n.sh 2 \\*(__ \n.(x \n\\n($1.\\n($2      \\*(__ \n.)x\n",
+							"\\fB",	HEADING,
+    "@appendixsubsec",	"\n",	"\n.ds __ ",
+	"\n.sh 3 \\*(__ \n.(x \n\\n($1.\\n($2.\\n($3    \\*(__ \n.)x\n",
+							"\\fB",	HEADING,
+    "@appendixsubsubsec","\n",	"\n.ds __ ",
+	"\n.sh 4 \\*(__ \n.(x \n\\n($1.\\n($2.\\n($3.\\n($4  \\*(__ \n.)x\n",
+							"\\fB",	HEADING,
+    "@arrow",		"\n",	"\\(->",	"\n",	"",	CHAR,
+    "@asis",		"\n",	"",		"\n",	"",	PARAGRAPH,
+    "@asis{",		"}",	"",		"",	"",	INPARA,
+    "@author",		"\n",	"\n.ce\n",	"\n",	"",	HEADING,
+    "@br",		"\n",	"\n.br\n.sp\n", "",	"",	PARAGRAPH,
+    "@bullet{",		"}",	"* ",	"",	"",	CHAR,
+    "@bye",		"\n",	"",		"\n",	"",	DISCARD,
+    "@b{",		"}",	"\\fB",		"",	"\\fB",	INPARA,
+    "@c",		"\n",	"",		"\n",	"",	DISCARD,
+    "@center",		"\n",	"\n.ce\n",	"\n",	"",	HEADING,
+    "@center{",		"}",	"\n.ce\n",	"",	"",	HEADING,
+    "@chapter",		"\n",	"\n.SH ",        "\n",	"",     HEADING,
+    "@cindex",		"\n",	"\n.iX \"c ",	"\"\n",	"",	INDEX,
+    "@cite{",		"}",	"\\fI",		"",	"\\fI",	INPARA,
+    "@code{",		"}",	"\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA,
+    "@comment",		"\n",	"",		"\n",	"",	DISCARD,
+    "@contents",	"\n",	"\n.nr % 0 1\n.af % i\n.bp \\n%+1\n",
+	".ce\n\\fBTable of Contents\\fR\n.sp 2\n.xp \n","",INPARA,
+    "@copyright{",	"}",	"\\(co",	"",	"",	CHAR,
+    "@ctrl{",		"}",	"\\fR\\&\\f(CW^","","\\fR\\&\\f(CW",INPARA,
+    "@dag",		"}{",	"\\(dg",	"",	"",	CHAR,
+    "@dag{",		"}",	"\\(dg",	"",	"",	CHAR,
+    "@ddag",		"}{",	"\\(dd",	"",	"",	CHAR,
+    "@ddag{",		"}",	"\\(dd",	"",	"",	CHAR,
+    "@defcmd",		"@end", "\n.lp\n*\\ Command: ","","",	HEADING,
+    "@defcmdx",		"\n", 	"\n.lp\n*\\ Command: ","\n.br\n","",HEADING,
+    "@defconst",	"@end", "\n.lp\n*\\ Constant: ","","",	HEADING,
+    "@defconstx",	"\n", 	"\n.lp\n*\\ Constant: ","\n.br\n","",HEADING,
+    "@deffn",		"@end", "\n.lp\n*\\ ",	"",	"",	HEADING,
+    "@deffnx",		"\n", 	"\n.lp\n*\\ ",	"\n.br\n","",	HEADING,
+    "@defmac",		"@end", "\n.lp\n*\\ Macro: ","","",	HEADING,
+    "@defmacx",		"\n", 	"\n.lp\n*\\ Macro: ","\n.br\n","",HEADING,
+    "@defmethod",	"@end", "\n.lp\n*\\ Operation on ","","",HEADING,
+    "@defmethodx",	"\n", 	"\n.lp\n*\\ Operation on ","\n.br\n",
+							"",	HEADING,
+    "@defopt",		"@end", "\n.lp\n*\\ User Option: ","","",HEADING,
+    "@defoptx",		"\n", 	"\n.lp\n*\\ User Option: ","\n.br\n",
+							"",	HEADING,
+    "@defspec",		"@end", "\n.lp\n*\\ Special Form: ","","",HEADING,
+    "@defspecx",	"\n", 	"\n.lp\n*\\ Special Form: ","\n.br\n",
+							"",	HEADING,
+    "@defun",		"@end", "\n.lp\n*\\ Function: ","","",	HEADING,
+    "@defunx",		"\n", 	"\n.lp\n*\\ Function: ","\n.br\n","",HEADING,
+    "@defvar",		"@end", "\n.lp\n*\\ Variable: ","","",	HEADING,
+    "@defvarx",		"\n", 	"\n.lp\n*\\ Variable: ","\n.br\n","",HEADING,
+    "@dfn{",		"}",	"\\fI",		"",	"\\fI",	INPARA,
+    "@display",		"@end", "\n.ft I\n.nf\n\n",	"\n.fi\n.ft R\n \n","",	DISPLAY,
+    "@dots{",		"}",	"\\&...",	"",	"",	INPARA,
+    "@eject",		"\n",	"\n.bp\n",	"",	"",	PARAGRAPH,
+    "@emph{",		"}",	"\\fI",		"",	"\\fI",	INPARA,
+    "@end",		"\n",	"",	"\n.sp\n.in\n", "",	END,
+    "@enumerate",	"@end", "\n\n",         "",     "",	ITEMIZING,
+    "@equiv{",		"}",	"\\(==",	"",	"",	CHAR,
+    "@error{",		"}",	"error->",	"",	"",	CHAR,
+    "@example",		"@end", "\n \n.nf\n.ft 3\n.in +0.3i\n",
+				"\n.fi\n.in -0.3i\n.ft R\n.lp\n \n",
+                                "\\fR\\&\\f(CW",                DISPLAY,
+    "@example{",	"}",	"\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA,
+    "@exdent",		"\n",	"\n.lp\n",	"\n",	"",	PARAGRAPH,
+    "@expansion{",	"}",	"\\(->",	"",	"",	CHAR,
+    "@file{",		"}",	"\\fR\\&\\f(CW\\(if",	"\\(is",
+					"\\fR\\&\\f(CW",	INPARA,
+    "@finalout",	"\n",	"",		"\n",	"",	DISCARD,
+    "@findex",		"\n",	"\n.iX \"f ",	"\"\n",	"",	INDEX,
+    /*    "@footnote{",	"}",	"\n.(f \n",	"\n.)f\n","",	FOOTNOTE,*/
+    "@footnote{",	"}",	"\n.(f \n",	"\n.)f\n","",	DISCARD,
+    "@group",		"@end", "\n.(b\n",	"\n.)b\n","",	PARAGRAPH,
+    "@heading",		"\n",	"\n.bp\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@headings",	"\n",	"",		"",	"",	DISCARD,
+    "@iappendix",	"\n",	"\n.bp\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@iappendixsec",	"\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@iappendixsubsec",	"\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@ichapter",	"\n",	"\n.bp\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@ifinfo",		"@end", "\n",		"\n",	"",	PARAGRAPH, 
+    "@iftex",		"@end", "",		"",	"",	PARAGRAPH,
+    "@ignore",		"@end", "",		"",	"",	PARAGRAPH,
+    "@include",		"\n",	"",		"",	"",	INCLUDE,
+    "@inforef{",	"}",	"See Info file ","",	"",	PARAGRAPH,
+    "@isection",	"\n", 	"\n.SS ",       "\n",	"",     HEADING,
+    "@isubsection",	"\n", 	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@isubsubsection",	"\n", 	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@section", 	"\n",   "\n.SS ",       "\n",	"",     HEADING,
+    "@subsection",	"\n",   "\n.SS \\ \\ ", "\n",   "",	HEADING,
+    "@subsubsection",	"\n", 	"\n.ds __ \n.B ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@item",		"\n",	"\n.TP\n",	"\\ \n","",	ITEM,
+    "@itemize",		"@end", "\n\n",         "",     "",	ITEMIZING,
+    "@itemx",		"\n",	".TQ\n",	"\n",   "",	ITEM,
+    "@iunnumbered",	"\n",	"\n.SH ",       "\n",	"",     HEADING,
+    "@iunnumberedsec",	"\n", 	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@iunnumberedsubsec","\n", 	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@i{",		"}",	"\\fI",		"",	"\\fI",	INPARA,
+    "@kbd{",		"}",	"\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA,
+    "@key{",		"}",	"\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA,
+    "@kindex",		"\n",	"\n.iX \"k ",	"\"\n",	"",	INDEX,
+    "@majorheading",	"\n",	"\n.sp 4\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@menu",		"@end", "\n.ft I\n.nf\n\n\\s8Menu: \n",
+					"\\s0\n.fi\n.ft R\n","",	DISPLAY,
+    "@minus{",		"}",	"\\-",		"",	"",	CHAR,
+    "@need",		"\n",	"",		"\n",	"",	DISCARD,
+    "@node",		"\n", 	"\n.lp\n\\s8Node:",
+					"\\s0\n.br\n","",	PARAGRAPH,
+    "@noindent",	"\n",	"\n.lp\n",	"",	"",	PARAGRAPH,
+    "@page",		"\n",	"\n.bp\n",	"",	"",	PARAGRAPH,
+    "@pindex",		"\n",	"\n.iX \"p ",	"\"\n",	"",	INDEX,
+    "@point{",		"}",	"*",		"",	"",	CHAR,
+    "@printindex",	"\n",	"",		"\n",	"",	DISCARD,
+    "@prints{",		"}",	"-|",		"",	"",	CHAR,
+    "@print{",		"}",	"-|",		"",	"",	CHAR,
+    "@pxref{",		"}",	"see section  ","",	"",	PARAGRAPH,
+    "@quotation",	"@end", "\n.(q\n.nh\n", "\n.)q\n","",	DISPLAY,
+    "@refill",		"\n",	"",		"\n",	"",	DISCARD,
+    "@ref{",		"}",	"\\(if",	"\\(is","",	INPARA,
+    "@result",		"\n",	"\\(rh",	"\n",	"",	CHAR,
+    "@result{",		"}",	"\\(rh",	"",	"",	CHAR,
+    "@r{",		"}",	"\\fR",		"",	"\\fR",	INPARA,
+    "@samp{",		"}",	"\\fR\\&\\f(CW\\(if", "\\(is",
+						"\\fR\\&\\f(CW",INPARA,
+    "@sc{",		"}",	"\\fB",		"",	"\\fB",	INPARA,
+    "@setchapternewpage","\n",	"",		"\n",	"",	DISCARD,
+    "@setfilename",	"\n",	"",		"\n",	"",	DISCARD,
+    "@settitle",	"\n",	"\n.ds St ",
+		"\n.oh '\\\\*(St''%'\n.eh '%''\\\\*(St'\n","",	HEADING,
+    "@smallbook",	"\n",	"",		"",	"",	DISCARD,
+    "@smallexample",	"@end", "\n.ft I\n.nf\n\n\\fR\\&\\f(CW\n",
+				"\n.fi\n.ft R\n",	"\\fR\\&\\f(CW",DISPLAY,
+    "@sp",		"\n",	"\n.sp",	"\n",	"",	PARAGRAPH,
+    "@sp2",		"\n",	"\n.sp 2",	"\n",	"",	PARAGRAPH,
+    "@strong{",		"}",	"\\fB",		"",	"\\fB",	INPARA,
+    "@subheading",	"\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@subsubheading",	"\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@subtext",		"\n",	"\n.ce\n",	"\n",	"",	HEADING,
+    "@subtitle",	"\n",	"\n.ce\n",	"\n",	"",	HEADING,
+    "@summarycontents",	"\n",	"\n.nr % 0 1\n.af % i\n.bp \\n%+1\n",
+	".ce\n\\fBTable of Contents\\fR\n.sp 2\n.xp \n","",	INPARA,
+    "@syncodeindex",	"\n",	"",		"\n",	"",	DISCARD,
+    "@synindex",	"\n",	"",		"\n",	"",	DISCARD,
+    "@t",		"\n",	"\t",		"\n",	"",	CHAR,
+    "@table",		"@end", "\n\n",         "",     "",	ITEMIZING,
+    "@tex",		"@end", "",		"",	"",	DISCARD, 
+    "@tindex",		"\n",	"\n.iX \"t ",	"\"\n",	"",	INDEX,
+    "@title",		"\n",	"\n.ce\n",	"\n",	"",	HEADING,
+    "@titlefont{",	"}",	"\n.sz +10\n.ce\n",
+						"\n.sz -10\n","",PARAGRAPH,
+    "@titlepage",	"@end", "\n.tp\n",	"\n.bp\n","",	PARAGRAPH,
+    "@titlespec",	"@end", "\n.tp\n.ce \n\\&\\*(St \n",
+						"\n",	"",	PARAGRAPH,
+    "@t{",		"}",	"\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA,
+    "@unnumbered",	"\n",	"\n.SH ",        "\n",	"",     HEADING,
+    "@unnumberedsec",	"\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@unnumberedsubsec","\n",	"\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@unnumberedsubsubsec","\n","\n.ds __ ",
+		"\n.(x \n\\*(__ \n.)x\n.uh  \\*(__ \n","\\fB",	HEADING,
+    "@var{",		"}",	"\\fI",		"",	"\\fI",	INPARA,
+    "@vfil", 		"\n",	"",		"\n",	"",	DISCARD,
+    "@vindex",		"\n",	"\n.iX \"v ",	"\"\n",	"",	INDEX,
+    "@vskip",		"\n",	"",		"\n",	"",	DISCARD,
+    "@w{",		"}",	"\n\\! ",	"\n",	"",	INPARA,
+    "@xref{",		"}",	"See section ",	"",	"",	PARAGRAPH,
+    "@{",		"",	"{",		"",	"",	ESCAPED,
+    "@}",		"",	"}",		"",	"",	ESCAPED
+};
+
diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/texi2roff.c texi2roff-2.0-ak/texi2roff.c
--- texi2roff-2.0/texi2roff.c	1992-05-06 22:13:22.000000000 +0200
+++ texi2roff-2.0-ak/texi2roff.c	2025-02-08 17:22:36.810086512 +0100
@@ -13,12 +13,10 @@
 #include <sys/types.h>
 #endif
 #include <sys/stat.h>
+#include <unistd.h>
+#include <stdlib.h>
 #include "texi2roff.h"
 
-#if !defined(S_ISDIR) && defined(S_IFDIR)
-#define	S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#endif
-
 char *progname;
 int transparent = NO;	/* for -t flag */
 
@@ -27,7 +25,7 @@
  *	- initialize tables and other strings
  * 	- open files and pass them to process().
  */
-main(argc, argv)
+int main(argc, argv)
 int argc;
 char *argv[];
 {
@@ -70,6 +68,9 @@
 		case 'e':
 		    macropkg = ME;
 		    break;
+		case 'a':
+		    macropkg = AK;
+		    break;			
 		default:
 		    errflg++;
 		    break;
@@ -133,7 +134,7 @@
 								filename);
 	return 1;
     }
-    if (S_ISDIR (statbuf.st_mode)) {
+    if ((statbuf.st_mode & S_IFMT)==S_IFDIR) {
 	(void) fprintf(stderr, "%s : %s is a directory\n", progname,
 								filename);
 	return 1;
diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/texi2roff.h texi2roff-2.0-ak/texi2roff.h
--- texi2roff-2.0/texi2roff.h	1992-02-20 19:16:40.000000000 +0100
+++ texi2roff-2.0-ak/texi2roff.h	2002-11-02 22:03:46.000000000 +0100
@@ -13,6 +13,7 @@
 #define MS	1
 #define ME	2
 #define MM	3
+#define AK      4
 
 /* useful confusion-reducing things */
 #define STREQ(s,t) (*(s)==*(t) && strcmp(s, t)==0)