diff --git a/doc/Contents b/doc/Contents --- a/doc/Contents +++ b/doc/Contents @@ -1,33 +1,33 @@ Isabelle Tutorials! prog-prove Programming and Proving in Isabelle/HOL locales Tutorial on Locales classes Tutorial on Type Classes datatypes Tutorial on (Co)datatype Definitions functions Tutorial on Function Definitions corec Tutorial on Nonprimitively Corecursive Definitions codegen Tutorial on Code Generation nitpick User's Guide to Nitpick sledgehammer User's Guide to Sledgehammer eisbach The Eisbach User Manual sugar LaTeX Sugar for Isabelle documents Isabelle Reference Manuals! main What's in Main isar-ref The Isabelle/Isar Reference Manual implementation The Isabelle/Isar Implementation Manual system The Isabelle System Manual jedit Isabelle/jEdit Demo Documents - demo_easychair Demo for Easychair style - demo_eptcs Demo for EPTCS style + demo_easychair Demo for Easychair LaTeX style + demo_eptcs Demo for EPTCS LaTeX style demo_foiltex Demo for FoilTeX: slides in LaTeX demo_lipics Demo for Dagstuhl LIPIcs style demo_llncs Demo for Springer LaTeX LNCS style Old Isabelle Manuals tutorial Tutorial on Isabelle/HOL intro Old Introduction to Isabelle logics Isabelle's Logics: HOL and misc logics logics-ZF Isabelle's Logics: FOL and ZF diff --git a/src/Pure/Admin/build_easychair.scala b/src/Pure/Admin/build_easychair.scala --- a/src/Pure/Admin/build_easychair.scala +++ b/src/Pure/Admin/build_easychair.scala @@ -1,108 +1,108 @@ /* Title: Pure/Admin/build_easychair.scala Author: Makarius -Build Isabelle component for Easychair style. +Build Isabelle component for Easychair LaTeX style. See also https://easychair.org/publications/for_authors */ package isabelle object Build_Easychair { /* build easychair component */ val default_url = "https://easychair.org/publications/easychair.zip" def build_easychair( download_url: String = default_url, target_dir: Path = Path.current, progress: Progress = new Progress ): Unit = { Isabelle_System.require_command("unzip", test = "-h") Isabelle_System.with_tmp_file("download", ext = "zip") { download_file => Isabelle_System.with_tmp_dir("download") { download_dir => /* download */ Isabelle_System.download_file(download_url, download_file, progress = progress) Isabelle_System.bash("unzip -x " + File.bash_path(download_file), cwd = download_dir.file).check val easychair_dir = File.read_dir(download_dir) match { case List(name) => download_dir + Path.explode(name) case bad => error("Expected exactly one directory entry in " + download_file + bad.mkString("\n", "\n ", "")) } /* component */ val version = Library.try_unprefix("EasyChair", easychair_dir.file_name) .getOrElse("Failed to detect version from " + quote(easychair_dir.file_name)) val component = "easychair-" + version val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component)) progress.echo("Component " + component_dir) component_dir.file.delete Isabelle_System.copy_dir(easychair_dir, component_dir) /* settings */ val etc_dir = Isabelle_System.make_directory(component_dir + Path.basic("etc")) File.write(etc_dir + Path.basic("settings"), """# -*- shell-script -*- :mode=shellscript: ISABELLE_EASYCHAIR_HOME="$COMPONENT" """) /* README */ File.write(component_dir + Path.basic("README"), """This is the Easychair style for authors from """ + download_url + """ Makarius """ + Date.Format.date(Date.now()) + "\n") } } } /* Isabelle tool wrapper */ val isabelle_tool = - Isabelle_Tool("build_easychair", "build component for Easychair style", + Isabelle_Tool("build_easychair", "build component for Easychair LaTeX style", Scala_Project.here, { args => var target_dir = Path.current var download_url = default_url val getopts = Getopts(""" Usage: isabelle build_easychair [OPTIONS] Options are: -D DIR target directory (default ".") -U URL download URL (default: """" + default_url + """") - Build component for Easychair style. + Build component for Easychair LaTeX style. """, "D:" -> (arg => target_dir = Path.explode(arg)), "U:" -> (arg => download_url = arg)) val more_args = getopts(args) if (more_args.nonEmpty) getopts.usage() val progress = new Console_Progress() build_easychair(download_url = download_url, target_dir = target_dir, progress = progress) }) } diff --git a/src/Pure/Admin/build_eptcs.scala b/src/Pure/Admin/build_eptcs.scala --- a/src/Pure/Admin/build_eptcs.scala +++ b/src/Pure/Admin/build_eptcs.scala @@ -1,101 +1,101 @@ /* Title: Pure/Admin/build_eptcs.scala Author: Makarius -Build Isabelle component for EPTCS style. +Build Isabelle component for EPTCS LaTeX style. See also: - http://style.eptcs.org - https://github.com/EPTCS/style/releases */ package isabelle object Build_EPTCS { /* build eptcs component */ val default_url = "https://github.com/EPTCS/style/releases/download" val default_version = "1.7.0" def build_eptcs( base_url: String = default_url, version: String = default_version, target_dir: Path = Path.current, progress: Progress = new Progress ): Unit = { Isabelle_System.require_command("unzip", test = "-h") /* component */ val component = "eptcs-" + version val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component)) progress.echo("Component " + component_dir) /* download */ val download_url = base_url + "/v" + version + "/eptcsstyle.zip" Isabelle_System.with_tmp_file("download", ext = "zip") { download_file => Isabelle_System.download_file(download_url, download_file, progress = progress) Isabelle_System.bash("unzip -x " + File.bash_path(download_file), cwd = component_dir.file).check } /* settings */ val etc_dir = Isabelle_System.make_directory(component_dir + Path.basic("etc")) File.write(etc_dir + Path.basic("settings"), """# -*- shell-script -*- :mode=shellscript: ISABELLE_EPTCS_HOME="$COMPONENT" """) /* README */ File.write(component_dir + Path.basic("README"), """This is the EPTCS style from """ + download_url + """ Makarius """ + Date.Format.date(Date.now()) + "\n") } /* Isabelle tool wrapper */ val isabelle_tool = - Isabelle_Tool("build_eptcs", "build component for EPTCS style", + Isabelle_Tool("build_eptcs", "build component for EPTCS LaTeX style", Scala_Project.here, { args => var target_dir = Path.current var base_url = default_url var version = default_version val getopts = Getopts(""" Usage: isabelle build_eptcs [OPTIONS] Options are: -D DIR target directory (default ".") -U URL download URL (default: """" + default_url + """") -V VERSION version (default: """" + default_version + """") - Build component for EPTCS style. + Build component for EPTCS LaTeX style. """, "D:" -> (arg => target_dir = Path.explode(arg)), "U:" -> (arg => base_url = arg), "V:" -> (arg => version = arg)) val more_args = getopts(args) if (more_args.nonEmpty) getopts.usage() val progress = new Console_Progress() build_eptcs(base_url = base_url, version = version, target_dir = target_dir, progress = progress) }) }