LaTeX_Generator

[ Top ] [ ROBODoc ] [ Modules ]

FUNCTION

Generator for LaTeX output. Supports singledoc mode.


RB_LaTeX_Generate_Char

[ Top ] [ LaTeX_Generator ] [ Functions ]

FUNCTION

Generate a single character. These characters are generated within a begin{verbatim} end{verbatim} block So no escaping is necessary.

SYNOPSIS

 *   void RB_LaTeX_Generate_Char( FILE* dest_doc, int c )

RB_LaTeX_Generate_Doc_End

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Doc_End --


RB_LaTeX_Generate_Doc_Start

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Doc_Start --


RB_LaTeX_Generate_Empty_Item

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Empty_Item --


RB_LaTeX_Generate_EscapedChar

[ Top ] [ LaTeX_Generator ] [ Functions ]

FUNCTION

Generate a single character. These characters are outside a begin{verbatim} end{verbatim} block. So we need to escape is special characters.

SYNOPSIS

 *   void RB_LaTeX_Generate_EscapedChar( FILE* dest_doc, int c )

SEE ALSO

RB_LaTeX_Generate_Char()


RB_LaTeX_Generate_Header_End

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Header_End --


RB_LaTeX_Generate_Header_Start

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Header_Start --


RB_LaTeX_Generate_Index_Entry

[ Top ] [ LaTeX_Generator ] [ Functions ]

FUNCTION

Creates a entry for the index.


RB_LaTeX_Generate_Index_Table

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Index_Table --


RB_LaTeX_Generate_Item_Line_Number

[ Top ] [ LaTeX_Generator ] [ Functions ]

FUNCTION

Generate line numbers for SOURCE like items

SYNOPSIS

void RB_LaTeX_Generate_Item_Line_Number(
    FILE *dest_doc,
    char *line_number_string )

INPUTS

SOURCE

{
    RB_LaTeX_Generate_String( dest_doc, line_number_string );
}

RB_LaTeX_Generate_Label

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Label --

SYNOPSIS

 *   void RB_LaTeX_Generate_Label( FILE* dest_doc, char* name)

INPUTS

dest_doc -- the file to which the text is written name -- the unique name of the label to create

SOURCE

void RB_LaTeX_Generate_Label(
    FILE *dest_doc,
    char *name )
{
    int                 i;
    int                 l = strlen( name );
    unsigned char       c;

    fprintf( dest_doc, "\\label{ch:" );
    for ( i = 0; i < l; ++i )
    {
        c = name[i];
        if ( utf8_isalnum( c ) )
        {
            RB_LaTeX_Generate_Char( dest_doc, c );
        }
        else
        {
            /* think about this 
             * replaced by underscore
             */
            fputc( '_', dest_doc );
        }
    }
    fprintf( dest_doc, "}\n" );
}

RB_LaTeX_Generate_Link

[ Top ] [ LaTeX_Generator ] [ Functions ]

NAME

RB_LaTeX_Generate_Link --

SYNOPSIS

 *   void RB_LaTeX_Generate_Link( FILE *cur_doc, char *cur_name,
 *                                char *filename, char *labelname,
 *                                char *linkname )

INPUTS

cur_doc -- the file to which the text is written cur_name -- the name of the destination file (unused)

                (the file from which we link)

filename -- the name of the file that contains the link

                (the file we link to) (unused)

labelname-- the name of the unique label of the link. linkname -- the name of the link as shown to the user (unused).

SOURCE

void RB_LaTeX_Generate_Link(
    FILE *cur_doc,
    char *cur_name,
    char *filename,
    char *labelname,
    char *linkname )
{
    USE( cur_name );
    USE( filename );
    USE( linkname );

    /* Only generate links outside the verbatim sections
     * LaTeX does not seem to recognise them inside (Thuffir)
     */
    if ( verbatim == FALSE )
        fprintf( cur_doc, " (\\ref{ch:%s})", labelname );
}

RB_LaTeX_Generate_String

[ Top ] [ LaTeX_Generator ] [ Functions ]

FUNCTION

Write a string to the destination document, escaping characters where necessary.