def _render_op(
            self, identifier, hs=None, dagger=False, args=None, superop=False):
        """Render an operator

        Args:
            identifier (str): The identifier (name/symbol) of the operator. May
                include a subscript, denoted by '_'.
            hs (qnet.algebra.hilbert_space_algebra.HilbertSpace): The Hilbert
                space in which the operator is defined
            dagger (bool): Whether the operator should be daggered
            args (list): A list of expressions that will be rendered with
                :meth:`doprint`, joined with commas, enclosed in parenthesis
            superop (bool): Whether the operator is a super-operator
        """
        hs_label = None
        if hs is not None and self._settings['show_hs_label']:
            hs_label = self._render_hs_label(hs)
        name, total_subscript, total_superscript, args_str \
            = self._split_op(identifier, hs_label, dagger, args)
        if name.startswith(r'\text{'):
            name = name[6:-1]
        if self._is_single_letter(name):
            if superop:
                name_fmt = self._settings['tex_sop_macro']
            else:
                name_fmt = self._settings['tex_op_macro']
        else:
            if superop:
                name_fmt = self._settings['tex_textsop_macro']
            else:
                name_fmt = self._settings['tex_textop_macro']
        res = name_fmt.format(name=name)
        res = render_latex_sub_super(
            res, [total_subscript], [total_superscript],
            translate_symbols=True)
        res += args_str
        return res
def _render_op ( self , identifier , hs = None , dagger = False , args = None , superop = False ) : hs_label = None if hs is not None and self . _settings [ 'show_hs_label' ] : hs_label = self . _render_hs_label ( hs ) name , total_subscript , total_superscript , args_str = self . _split_op ( identifier , hs_label , dagger , args ) if name . startswith ( r'\text{' ) : name = name [ 6 : - 1 ] if self . _is_single_letter ( name ) : if superop : name_fmt = self . _settings [ 'tex_sop_macro' ] else : name_fmt = self . _settings [ 'tex_op_macro' ] else : if superop : name_fmt = self . _settings [ 'tex_textsop_macro' ] else : name_fmt = self . _settings [ 'tex_textop_macro' ] res = name_fmt . format ( name = name ) res = render_latex_sub_super ( res , [ total_subscript ] , [ total_superscript ] , translate_symbols = True ) res += args_str return res
Render an operator

        Args:
            identifier (str): The identifier (name/symbol) of the operator. May
                include a subscript, denoted by '_'.
            hs (qnet.algebra.hilbert_space_algebra.HilbertSpace): The Hilbert
                space in which the operator is defined
            dagger (bool): Whether the operator should be daggered
            args (list): A list of expressions that will be rendered with
                :meth:`doprint`, joined with commas, enclosed in parenthesis
            superop (bool): Whether the operator is a super-operator