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
+ * [email protected]    ...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)