def text_tostring(t, default=None, emphasis='emphasis', strong='strong', sup='sup',
               fn_anc='fn_anc', fn_sym='fn_sym'):
    """Convert Text object to str.

    Mark all styled text with special characters and return str

    Example:
        >>> t = [('Unmarked text. ', None), ('Text marked "emphasis".', 'emphasis'),
        ...      (' ', None), ('R', 'sup'), ('not marked', None), ('R', 'sup'),
        ...      ('.', None)]
        >>> text_tostring(t)
        'Unmarked text. *Text marked "emphasis".* <R>not marked<R>.'
    """

    markers = {
        default: '{}',
        emphasis: '*{}*',
        strong: '**{}**',
        sup: '<{}>',
        fn_anc: '[^{}]',
        fn_sym: '[^{}]:',
    }
    
    s = ''.join(markers[style].format(text) for text, style in t)
    return ' '.join(s.split())