(************************************************************************* * Copyright (C) * 2019 The University of Exeter * 2018-2019 The University of Paris-Saclay * 2018 The University of Sheffield * * License: * This program can be redistributed and/or modified under the terms * of the 2-clause BSD-style license. * * SPDX-License-Identifier: BSD-2-Clause *************************************************************************) section\An example ontology for a scholarly paper\ theory technical_report imports "Isabelle_DOF.scholarly_paper" begin define_ontology "DOF-technical_report.sty" (* for reports paper: invariant: level \ -1 *) section\More Global Text Elements for Reports\ doc_class table_of_contents = bookmark_depth :: int <= 3 depth :: int <= 3 doc_class front_matter = front_matter_style :: string (* TODO Achim :::: *) doc_class index = kind :: "doc_class" level :: "int option" section\Code Statement Elements\ doc_class "code" = technical + checked :: bool <= "False" caption :: "string" <= "''''" typ code text\The \<^doc_class>\code\ is a general stub for free-form and type-checked code-fragments such as: \<^enum> SML code \<^enum> bash code \<^enum> isar code (although this might be an unwanted concurrence to the Isabelle standard cartouche) \<^enum> C code. It is intended that later refinements of this "stub" as done in \<^verbatim>\Isabelle_C\ which come with their own content checking and presentation styles. \ doc_class "SML" = code + checked :: bool <= "False" doc_class "ISAR" = code + checked :: bool <= "False" doc_class "LATEX" = code + checked :: bool <= "False" print_doc_class_template "SML" (* just a sample *) doc_class report = style_id :: string <= "''LNCS''" version :: "(int \ int \ int)" <= "(0,0,0)" accepts "(title ~~ \subtitle\ ~~ \author\\<^sup>+ ~~ \front_matter\ ~~ abstract ~~ \table_of_contents\ ~~ \introduction\\<^sup>+ ~~ \technical || figure || side_by_side_figure\\<^sup>+ ~~ \conclusion\\<^sup>+ ~~ \index\\<^sup>* ~~ bibliography)" end