The code was checking only for particular vertical alignment requests
in order to decide to nest a standard array into a 1x1 ams matrix.
However, also vertical lines are not possible in ams matrices.
int const ny = rowsSB->value();
// a matrix without a decoration is an array,
// otherwise it is an AMS matrix
int const ny = rowsSB->value();
// a matrix without a decoration is an array,
// otherwise it is an AMS matrix
- // decorated matrices cannot have a vertical alignment
+ // decorated matrices cannot have a vertical alignment or line
char const c = v_align_c[valignCO->currentIndex()];
QString const sh = halignED->text();
char const c = v_align_c[valignCO->currentIndex()];
QString const sh = halignED->text();
if (decorationCO->currentIndex() != 0) {
int const deco = decorationCO->currentIndex();
QString deco_name = DecoNames[deco - 1];
if (decorationCO->currentIndex() != 0) {
int const deco = decorationCO->currentIndex();
QString deco_name = DecoNames[deco - 1];
- // only if a special alignment is set create a 1x1 AMS array in which
- // a normal array will be created, otherwise create just a normal AMS array
- if (sh.contains('l') || sh.contains('r')) {
+ // if a vertical line or a special alignment is requested,
+ // create a 1x1 AMS matrix containing a normal array,
+ // otherwise create just a standard AMS matrix
+ if (sh.contains('l') || sh.contains('r') || sh.contains('|')) {
string const str_ams = fromqstr(
QString("%1 %2 %3").arg(int(1)).arg(int(1)).arg(deco_name));
dispatch(FuncRequest(LFUN_MATH_AMS_MATRIX, str_ams));
string const str_ams = fromqstr(
QString("%1 %2 %3").arg(int(1)).arg(int(1)).arg(deco_name));
dispatch(FuncRequest(LFUN_MATH_AMS_MATRIX, str_ams));