forked from Isabelle_DOF/Isabelle_DOF
94 lines
2.3 KiB
Plaintext
94 lines
2.3 KiB
Plaintext
chapter \<open>The Document Ontology Common Library for the Isabelle Ontology Framework\<close>
|
|
|
|
text\<open> Offering
|
|
\<^item> ...
|
|
\<^item>
|
|
\<^item> LaTeX support. \<close>
|
|
|
|
|
|
theory Isa_COL
|
|
imports Isa_DOF
|
|
begin
|
|
|
|
|
|
section\<open> Library of Standard Text Ontology \<close>
|
|
|
|
|
|
|
|
|
|
datatype placement = pl_h | pl_t | pl_b | pl_ht | pl_hb
|
|
|
|
|
|
doc_class figure =
|
|
relative_width :: "int" (* percent of textwidth *)
|
|
src :: "string"
|
|
placement :: placement
|
|
spawn_columns :: bool <= True
|
|
|
|
doc_class side_by_side_figure = figure +
|
|
anchor :: "string"
|
|
caption :: "string"
|
|
relative_width2 :: "int" (* percent of textwidth *)
|
|
src2 :: "string"
|
|
anchor2 :: "string"
|
|
caption2 :: "string"
|
|
|
|
|
|
doc_class figure_group =
|
|
(* trace :: "doc_class rexp list" <= "[]" automatically generated since monitor clause *)
|
|
caption :: "string"
|
|
rejects figure_group (* this forbids recursive figure-groups not supported
|
|
by the current LaTeX style-file. *)
|
|
accepts "\<lbrace>figure\<rbrace>\<^sup>+"
|
|
|
|
|
|
|
|
(* dito the future table *)
|
|
|
|
(* dito the future monitor: table - block *)
|
|
|
|
|
|
text\<open> The attribute @{term "level"} in the subsequent enables doc-notation support section* etc.
|
|
we follow LaTeX terminology on levels
|
|
\<^enum> part = Some -1
|
|
\<^enum> chapter = Some 0
|
|
\<^enum> section = Some 1
|
|
\<^enum> subsection = Some 2
|
|
\<^enum> subsubsection = Some 3
|
|
\<^enum> ...
|
|
|
|
for scholarly paper: invariant level > 0 \<close>
|
|
|
|
doc_class text_element =
|
|
level :: "int option" <= "None"
|
|
|
|
section\<open>Some attempt to model standardized links to Standard Isabelle Formal Content\<close>
|
|
|
|
doc_class assertions =
|
|
properties :: "term list"
|
|
|
|
doc_class "thms" =
|
|
properties :: "thm list"
|
|
|
|
doc_class formal_item =
|
|
item :: "(assertions + thms)"
|
|
|
|
doc_class formal_content =
|
|
style :: "string option"
|
|
accepts "\<lbrace>formal_item\<rbrace>\<^sup>+"
|
|
|
|
|
|
doc_class concept =
|
|
tag :: "string" <= "''''"
|
|
properties :: "thm list" <= "[]"
|
|
|
|
section\<open>Tests\<close>
|
|
|
|
ML\<open>@{term "side_by_side_figure"};
|
|
@{typ "doc_class rexp"};
|
|
DOF_core.SPY;
|
|
\<close>
|
|
|
|
|
|
end
|