Source code for pyexlatex.models.format.breaks

from pyexlatex.models.mixins import StringAdditionMixin
from mixins.repr import ReprMixin


[docs]class Break(StringAdditionMixin): pass
[docs]class LineBreak(Break):
[docs] def __init__(self): pass
def __str__(self): return '\n'
[docs]class TableLineBreak(Break, ReprMixin): """ A line break character to be used in LaTeX tables """ repr_cols = ['size_adjustment']
[docs] def __init__(self, size_adjustment: str=None): self.size_adjustment = size_adjustment
def __str__(self): return _table_break_str(self.size_adjustment, add_line_break=True)
[docs]class OutputLineBreak(Break, ReprMixin): """ Create an intentional line break in text """ repr_cols = ['size_adjustment']
[docs] def __init__(self, size_adjustment: str=None): self.size_adjustment = size_adjustment
def __str__(self): return _table_break_str(self.size_adjustment)
def _table_break_str(size_adjustment: str=None, add_line_break: bool = False): if size_adjustment: size_adjustment_str = f'[{size_adjustment}]' else: size_adjustment_str = '' output_str = r'\\' + size_adjustment_str if add_line_break: output_str += LineBreak() return output_str