src/Pure/Thy/latex.ML
changeset 67175 4e5ba4b23731
parent 67173 e746db6db903
child 67184 ecc786cb3b7b
equal deleted inserted replaced
67174:258e1394e76a 67175:4e5ba4b23731
    22   val begin_delim: string -> string
    22   val begin_delim: string -> string
    23   val end_delim: string -> string
    23   val end_delim: string -> string
    24   val begin_tag: string -> string
    24   val begin_tag: string -> string
    25   val end_tag: string -> string
    25   val end_tag: string -> string
    26   val environment: string -> string -> string
    26   val environment: string -> string -> string
    27   val tex_trailer: string
       
    28   val isabelle_theory: Position.T -> string -> string -> string
    27   val isabelle_theory: Position.T -> string -> string -> string
    29   val symbol_source: (string -> bool) * (string -> bool) ->
    28   val symbol_source: (string -> bool) * (string -> bool) ->
    30     string -> Symbol.symbol list -> string
    29     string -> Symbol.symbol list -> string
    31   val theory_entry: string -> string
    30   val theory_entry: string -> string
    32   val latexN: string
    31   val latexN: string
   233 (* theory presentation *)
   232 (* theory presentation *)
   234 
   233 
   235 fun environment name =
   234 fun environment name =
   236   enclose ("%\n\\begin{" ^ output_name name ^ "}%\n") ("%\n\\end{" ^ output_name name ^ "}");
   235   enclose ("%\n\\begin{" ^ output_name name ^ "}%\n") ("%\n\\end{" ^ output_name name ^ "}");
   237 
   236 
   238 val tex_trailer =
       
   239   "%%% Local Variables:\n\
       
   240   \%%% mode: latex\n\
       
   241   \%%% TeX-master: \"root\"\n\
       
   242   \%%% End:\n";
       
   243 
       
   244 fun isabelle_theory pos name txt =
   237 fun isabelle_theory pos name txt =
   245   output_file pos ^
   238   output_file pos ^
   246   "\\begin{isabellebody}%\n\
   239   "\\begin{isabellebody}%\n\
   247   \\\setisabellecontext{" ^ output_syms name ^ "}%\n" ^ txt ^
   240   \\\setisabellecontext{" ^ output_syms name ^ "}%\n" ^ txt ^
   248   "%\n\\end{isabellebody}%\n" ^ tex_trailer;
   241   "%\n\\end{isabellebody}%\n";
   249 
   242 
   250 fun symbol_source known name syms =
   243 fun symbol_source known name syms =
   251   isabelle_theory Position.none name
   244   isabelle_theory Position.none name
   252     ("\\isamarkupfile{" ^ output_known_symbols known (Symbol.explode name) ^ "}%\n" ^
   245     ("\\isamarkupfile{" ^ output_known_symbols known (Symbol.explode name) ^ "}%\n" ^
   253       output_known_symbols known syms);
   246       output_known_symbols known syms);