'Logic to decide how to render a function to latex
- if it is a recognized latex name, use the appropriate latex command
- if it is a single letter, just use that letter
- if it is a longer name, then put \operatorname{} around it and be
mindful of undercores in the name'

def _hprint_Function(self, func):

    func = self._deal_with_super_sub(func)
    if (func in accepted_latex_functions):
        name = ('\\%s' % func)
    elif ((len(func) == 1) or func.startswith('\\')):
        name = func
    else:
        name = ('\\operatorname{%s}' % func)
    return name
