equal
deleted
inserted
replaced
239 |
239 |
240 fun edge which f (x: string option, y) = |
240 fun edge which f (x: string option, y) = |
241 if x = y then I |
241 if x = y then I |
242 else (case which (x, y) of NONE => I | SOME txt => fold cons (Latex.string (f txt))); |
242 else (case which (x, y) of NONE => I | SOME txt => fold cons (Latex.string (f txt))); |
243 |
243 |
244 val begin_tag = edge #2 Latex.begin_tag; |
244 val markup_tag = YXML.output_markup o Markup.latex_tag; |
245 val end_tag = edge #1 Latex.end_tag; |
245 val markup_delim = YXML.output_markup o Markup.latex_delim; |
246 fun open_delim delim e = edge #2 Latex.begin_delim e #> delim #> edge #2 Latex.end_delim e; |
246 val bg_delim = #1 o markup_delim; |
247 fun close_delim delim e = edge #1 Latex.begin_delim e #> delim #> edge #1 Latex.end_delim e; |
247 val en_delim = #2 o markup_delim; |
|
248 |
|
249 val begin_tag = edge #2 (#1 o markup_tag); |
|
250 val end_tag = edge #1 (#2 o markup_tag); |
|
251 fun open_delim delim e = edge #2 bg_delim e #> delim #> edge #2 en_delim e; |
|
252 fun close_delim delim e = edge #1 bg_delim e #> delim #> edge #1 en_delim e; |
248 |
253 |
249 fun document_tag cmd_pos state state' tagging_stack = |
254 fun document_tag cmd_pos state state' tagging_stack = |
250 let |
255 let |
251 val ctxt' = Toplevel.presentation_context state'; |
256 val ctxt' = Toplevel.presentation_context state'; |
252 val nesting = Toplevel.level state' - Toplevel.level state; |
257 val nesting = Toplevel.level state' - Toplevel.level state; |