\TestPackage{listings}
\TestPackage[lithuanian.ldf]{lithuanian}
\TestPackage{longtable}
+\TestPackage{lscape}
\TestPackage{luainputenc}
\TestPackage{mathdots}
\TestPackage{mathrsfs}
\TestPackage{nomencl}
\TestPackage{paralist}
\TestPackage{pdfcolmk}
+\TestPackage{pdflscape}
\TestPackage{polyglossia}
\TestPackage{pdfcomment}
\TestPackage{pdfpages}
You'll need to have jurabib version 0.6 at least.
\end_layout
+\begin_layout Subsection
+lscape
+\end_layout
+
+\begin_layout Description
+Found:
+\begin_inset Info
+type "package"
+arg "lscape"
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+CTAN:
+\series medium
+
+\family typewriter
+\series default
+macros/latex/contrib/graphics/
+\end_layout
+
+\begin_layout Description
+Notes: The package
+\family sans
+lscape
+\family default
+ is used to turn specific contents (longtables particularly) to landscape
+ mode with DVI/PS output.
+\end_layout
+
\begin_layout Subsection
mslapa
\end_layout
instead).
\end_layout
+\begin_layout Subsection
+pdflscape
+\end_layout
+
+\begin_layout Description
+Found:
+\begin_inset Info
+type "package"
+arg "pdflscape"
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+CTAN:
+\series medium
+
+\family typewriter
+\series default
+macros/latex/contrib/oberdiek/
+\end_layout
+
+\begin_layout Description
+Notes: The package
+\family sans
+pdflscape
+\family default
+ is used to turn specific contents (longtables particularly) to landscape
+ mode with PDF output.
+\end_layout
+
\begin_layout Section
Packages required by modules
\end_layout
document.header.pop(i)
+def revert_longtable_lscape(document):
+ " revert the longtable landcape mode to ERT "
+ i = 0
+ regexp = re.compile(r'^<features rotate=\"90\"\s.*islongtable=\"true\"\s.*$', re.IGNORECASE)
+ while True:
+ i = find_re(document.body, regexp, i)
+ if i == -1:
+ return
+
+ document.body[i] = document.body[i].replace(" rotate=\"90\"", "")
+ lay = get_containing_layout(document.body, i)
+ if lay == False:
+ document.warning("Longtable has not layout!")
+ i += 1
+ continue
+ begcmd = put_cmd_in_ert("\\begin{landscape}")
+ endcmd = put_cmd_in_ert("\\end{landscape}")
+ document.body[lay[2] : lay[2]] = endcmd + ["\\end_layout"]
+ document.body[lay[1] : lay[1]] = ["\\begin_layout " + lay[0], ""] + begcmd
+
+ add_to_preamble(document, ["\\usepackage{pdflscape}"])
+ i = lay[2]
+
+
##
# Conversion hub
#
]
revert = [
- [543, [revert_minted]],
+ [543, [revert_minted, revert_longtable_lscape]],
[542, [revert_mathnumberingname]],
[541, [revert_mathnumberpos]],
[540, [revert_allowbreak]],
// The rest of these packages are somewhat more complicated
// than those above.
+ // [pdf]lscape is used to rotate longtables
+ if (mustProvide("lscape")) {
+ if (runparams_.flavor == OutputParams::LATEX
+ || runparams_.flavor == OutputParams::DVILUATEX)
+ packages << "\\usepackage{lscape}\n";
+ else
+ packages << "\\usepackage{pdflscape}\n";
+ }
+
// The tipa package and its extensions (tipx, tone) must not
// be loaded with non-TeX fonts, since fontspec includes the
// respective macros
tabularWidthED->setEnabled(setwidth);
tabularWidthUnitLC->setEnabled(setwidth);
- rotateTabularAngleSB->setEnabled(rotateTabularCB->isChecked());
+ rotateTabularAngleSB->setEnabled(rotateTabularCB->isChecked()
+ && !longTabularCB->isChecked());
rotateCellAngleSB->setEnabled(rotateCellCB->isChecked());
bool const enable_valign =
// longtables and tabular* cannot have a vertical alignment
TableAlignLA->setDisabled(is_tabular_star || longtabular);
TableAlignCO->setDisabled(is_tabular_star || longtabular);
- // longtable cannot be rotated (with rotating package)
- // FIXME: Add support for [pdf]lscape
- rotateTabularCB->setDisabled(longtabular);
- rotateTabularLA->setDisabled(longtabular);
- // this one would also be disabled with [pdf]lscape
+ // longtable cannot be rotated with rotating package, only
+ // with [pdf]lscape, which only supports 90 deg.
rotateTabularAngleSB->setDisabled(longtabular);
// FIXME: This Dialog is really horrible, disabling/enabling a checkbox
rotateCellAngleSB->setValue(90);
}
- rotateTabularCB->setChecked(tabular.rotate != 0);
- if (rotateTabularCB->isChecked())
- rotateTabularAngleSB->setValue(tabular.rotate != 0 ? tabular.rotate : 90);
-
longTabularCB->setChecked(tabular.is_long_tabular);
+ rotateTabularCB->setChecked(tabular.rotate != 0);
+ if (rotateTabularCB->isChecked()) {
+ if (longTabularCB->isChecked())
+ rotateTabularAngleSB->setValue(90);
+ else
+ rotateTabularAngleSB->setValue(tabular.rotate != 0 ? tabular.rotate : 90);
+ }
+
borders->setTop(tabular.topLine(cell));
borders->setBottom(tabular.bottomLine(cell));
borders->setLeft(tabular.leftLine(cell));
if (!TexRow::isNone(pos))
os.texrow().start(pos);
- if (rotate != 0 && !is_long_tabular)
- os << "\\begin{turn}{" << convert<string>(rotate) << "}\n";
+ if (rotate != 0) {
+ if (is_long_tabular)
+ os << "\\begin{landscape}\n";
+ else
+ os << "\\begin{turn}{" << convert<string>(rotate) << "}\n";
+ }
if (is_long_tabular) {
os << "\\begin{longtable}";
os << "\\end{tabular}";
}
- if (rotate != 0 && !is_long_tabular)
- os << breakln << "\\end{turn}";
+ if (rotate != 0) {
+ if (is_long_tabular)
+ os << breakln << "\\end{landscape}";
+ else
+ os << breakln << "\\end{turn}";
+ }
if (!TexRow::isNone(pos))
os.texrow().start(pos);
features.require("booktabs");
if (is_long_tabular)
features.require("longtable");
+ if (rotate && is_long_tabular)
+ features.require("lscape");
if (needRotating())
features.require("rotating");
for (idx_type cell = 0; cell < numberofcells; ++cell) {
- It possible to anonymize document's content for bug submissions
via buffer-anonymize lfun (bug 7259).
+- Support rotation of multi-page tables via (pdf)lscape (bug 9194).
+
* TEX2LYX IMPROVEMENTS