'Return a pretty-printed string representation of this chart.
:param width: The number of characters allotted to each
index in the sentence.
:rtype: str'

def pretty_format(self, width=None):

    if (width is None):
        width = (50 // (self.num_leaves() + 1))
    edges = sorted([(e.length(), e.start(), e) for e in self])
    edges = [e for (_, _, e) in edges]
    return ((self.pretty_format_leaves(width) + u'\n') + u'\n'.join((self.pretty_format_edge(edge, width) for edge in edges)))
