'Pretty Printing method.'

def _pretty(self, printer=None):

    from sympy.physics.vector.printing import VectorPrettyPrinter
    from sympy.printing.pretty.stringpict import prettyForm
    e = self
    class Fake(object, ):
        def render(self, *args, **kwargs):
            ar = e.args
            if (len(ar) == 0):
                return unicode(0)
            settings = (printer._settings if printer else {})
            vp = (printer if printer else VectorPrettyPrinter(settings))
            pforms = []
            for (i, v) in enumerate(ar):
                for j in (0, 1, 2):
                    if (ar[i][0][j] == 1):
                        pform = vp._print(ar[i][1].pretty_vecs[j])
                    elif (ar[i][0][j] == (-1)):
                        pform = vp._print(ar[i][1].pretty_vecs[j])
                        pform = prettyForm(*pform.left('    -    '))
                        bin = prettyForm.NEG
                        pform = prettyForm(binding=bin, *pform)
                    elif (ar[i][0][j] != 0):
                        if isinstance(ar[i][0][j], Add):
                            pform = vp._print(ar[i][0][j]).parens()
                        else:
                            pform = vp._print(ar[i][0][j])
                        pform = prettyForm(*pform.right('    ', ar[i][1].pretty_vecs[j]))
                    else:
                        continue
                    pforms.append(pform)
            pform = prettyForm.__add__(*pforms)
            kwargs['wrap_line'] = kwargs.get('wrap_line')
            kwargs['num_columns'] = kwargs.get('num_columns')
            out_str = pform.render(*args, **kwargs)
            mlines = [line.rstrip() for line in out_str.split('\n')]
            return '\n'.join(mlines)
    return Fake()
