LAview.LaTeX-Struct/src/latex-struct/ColParam.vala

66 lines
1.2 KiB
Vala

namespace LAview {
namespace Table {
/**
* Parameter of the table's column.
*/
public class ColParam : ADoc {
/**
* Column's alignment.
*
* Possible values: "c", "r", "l", ">{\centering}p{0.07\paperwidth}", etc.
*/
public string align = "c";
/**
* Number of left lines.
*/
public uint nllines = 1;
/**
* Number of right lines.
*/
public uint nrlines;
/**
* Constructs a new ``ColParam`` by it's properties.
*/
public ColParam.with_params (uint nllines = 1,
string align = "c",
uint nrlines = 0) {
this.nllines = nllines;
this.align = align;
this.nrlines = nrlines;
}
private ColParam () {}
/**
* Gets a copy of the ``ColParam``.
*/
public override IDoc copy () {
return new ColParam.with_params (nllines, align, nrlines);
}
/**
* Generates LaTeX string for the ``ColParam``.
*/
public override string generate () {
var result = new StringBuilder ();
for (uint i = 0; i < nllines; ++i)
result.append_c ('|');
result.append (align);
for (uint i = 0; i < nrlines; ++i)
result.append_c ('|');
return result.str;
}
}
}
}