provide reLyX support for 'm' column descriptors in tabulars

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_3_X@6104 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2003-02-11 14:31:21 +00:00
parent 8d88b99482
commit efb67d05a6
3 changed files with 23 additions and 18 deletions

View File

@ -7,6 +7,8 @@
* reLyX/syntax.default: add natbib citation commands.
* reLyX/RelyxTable.pm: provide support for 'm' column descriptors.
2003-02-11 Angus Leeming <leeming@lyx.org>
* reLyX/MakePreamble.pm: Output an accurate decription of what created

View File

@ -68,7 +68,7 @@ sub parse_cols {
while (@group) {
$tok = shift(@group);
# Each $tok will consist of /^[clr|]*[p*@]?$/
# Each $tok will consist of /^[clr|]*[mp*@]?$/
# (Except first may have | and/or @ expressions before it)
# p*@ will end the $tok since after it comes a group in braces
# @ will be a TT::Token, everything else will be in TT::Text
@ -86,13 +86,14 @@ sub parse_cols {
@new_cols = ($description =~ /[clr]\|*/g);
push @cols, @new_cols;
# parse a p or * or @ if necessary
# parse a 'p', an 'm', a '*' or a '@' as necessary
# use exact_print in case there's weird stuff in the @ descriptions
$description = substr($description,-1);
if ($description eq 'p') {
# The m and p descriptors have identical form.
if ($description eq 'p' || $description eq 'm') {
$tok = shift(@group);
my $pdes = $description . $tok->exact_print; # "p{foo}"
push @cols, $pdes;
my $des = $description . $tok->exact_print; # 'p{foo}' or 'm{foo}'
push @cols, $des;
} elsif ($description eq '@') {
$tok = shift(@group);
@ -376,25 +377,25 @@ package RelyxTable::Column;
$col->{"pwidth"} = "";
$col->{"special"} = "";
# Any special (@) column should be handled differently
if ($description =~ /\@/) {
# Just put the whole description in "special" field --- this
# corresponds the the "extra" field in LyX table popup
# Note that LyX ignores alignment, r/l lines for a special column
$col->{"special"} = $description;
print "\n'$description' column won't display WYSIWYG in LyX\n"
if $debug_on;
# It's not a special @ column
} else {
# LyX does not know about '@' or 'm' column descriptors so, to
# ensure that the LaTeX -> LyX -> LaTeX cycle is invariant,
# these descriptors are placed in the 'special' field.
if ($description =~ /\@/ || $description =~ /^m/ ) {
$col->{"special"} = $description;
print "\n'$description' column won't display WYSIWYG in LyX\n"
if $debug_on;
}
# '@' columns really can't be displayed WYSIWYG in LyX,
# but we can get visual feedback on 'm' columns.
if (!($description =~ /\@/)) {
# left line?
$description =~ s/^\|*//;
$col->{"left_line"} = length($&);
# main column description
$description =~ s/^[clrp]//;
if ($& eq "p") {
$description =~ s/^[clrpm]//;
if ($& eq 'p' || $& eq 'm') {
$description =~ s/^\{(.+)\}//; # eat the width
$col->{"pwidth"} = $1; # width without braces
# note: alignment is not applicable for 'p' columns

View File

@ -33,6 +33,8 @@ What's new
- enable reLyX to handle natbib citations
- enable reLyX to handle 'm' column descriptors in tables.
** Bug fixes
- fix bug where opening the tabular dialog would mark the document as