$ic = pop @icstack;
} elsif ($ended eq "multitable") {
$_ = "\n=back\n";
+ $ic = pop @icstack;
} else {
die "unknown command \@end $ended at line $.\n";
}
/^\@multitable\s.*/ and do {
push @endwstack, $endw;
+ push @icstack, $ic;
$endw = "multitable";
+ $ic = "";
$_ = "\n=over 4\n";
};
$_ = ""; # need a paragraph break
};
- /^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
+ /^\@(headitem|item)\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
@columns = ();
- for $column (split (/\s*\@tab\s*/, $1)) {
+ $item = $1;
+ for $column (split (/\s*\@tab\s*/, $2)) {
# @strong{...} is used a @headitem work-alike
- $column =~ s/^\@strong{(.*)}$/$1/;
+ $column =~ s/^\@strong\{(.*)\}$/$1/;
+ $column = "I<$column>" if $item eq "headitem";
push @columns, $column;
}
$_ = "\n=item ".join (" : ", @columns)."\n";
# Formatting commands.
# Temporary escape for @r.
s/\@r\{([^\}]*)\}/R<$1>/g;
+ s/\@sc\{([^\}]*)\}/\U$1/g;
s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g;
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
s/\@(?:samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
- s/\@sc\{([^\}]*)\}/\U$1/g;
s/\@acronym\{([^\}]*)\}/\U$1/g;
s/\@file\{([^\}]*)\}/F<$1>/g;
s/\@w\{([^\}]*)\}/S<$1>/g;
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
s/\@\///g;
+ s/\@t\{([^\}]*)\}/$1/g;
# keep references of the form @ref{...}, print them bold
s/\@(?:ref)\{([^\}]*)\}/B<$1>/g;