diff options
Diffstat (limited to 'macros/latex/contrib/ximera/ximera.dtx')
-rw-r--r-- | macros/latex/contrib/ximera/ximera.dtx | 362 |
1 files changed, 362 insertions, 0 deletions
diff --git a/macros/latex/contrib/ximera/ximera.dtx b/macros/latex/contrib/ximera/ximera.dtx new file mode 100644 index 0000000000..27be2648db --- /dev/null +++ b/macros/latex/contrib/ximera/ximera.dtx @@ -0,0 +1,362 @@ +% \iffalse meta-comment +% vim: textwidth=75 +%<*internal> +\iffalse +%</internal> +%<*readme> +| +------------:| ------------------------------------------------------------ + ximera:| Simultaneously write print and online interactive materials + Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp + E-mail:| bart.snapp@gmail.com + License:| Released under the LaTeX Project Public License v1.3c or later + See:| http://www.latex-project.org/lppl.txt + +Short description: +Some text about the class: probably the same as the abstract. +%</readme> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +------------:| ------------------------------------------------------------ + ximera:| Simultaneously writing print and online interactive materials + Author:| Jim Fowler and Oscar Levin and Jason Nowell and Wim Obbels and Hans Parshall and Bart Snapp + E-mail:| bart.snapp@gmail.com + License:| Released under the LaTeX Project Public License v1.3c or later + See:| http://www.latex-project.org/lppl.txt + +\endpreamble +\postamble + +Copyright (C) 2024 by Bart Snapp <bart.snapp@gmail.com> and Jim Fowler <kisonecat@gmail.com> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Bart Snapp. The source code can be found at: + +https://github.com/XimeraProject/ximeraLatex + +This work consists of the file ximera.dtx, the associated files +under src/, and a Makefile. + +Running "make" generates the derived files README, ximera.pdf, ximera.cls, xourse.cls. + +Running "make inst" installs the files in the user's TeX tree. + +Running "make install" installs the files in the local TeX tree. + +\endpostamble + +\usedir{tex/latex/ximera} +\input docstrip +\askforoverwritefalse +\generate{ + \file{ximera.cls}{ + \from{ximera.dtx}{classXimera} + \from{src/banner.dtx}{classXimera} + \from{src/options.dtx}{classXimera} + \from{src/packages.dtx}{classXimera} + \from{src/tikzexport.dtx}{classXimera} + \from{src/hyperref.dtx}{classXimera} + \from{src/suppress.dtx}{classXimera} + \from{src/makeCounter.dtx}{classXimera} + \from{src/pagesetup.dtx}{classXimera} + \from{src/metadata.dtx}{classXimera} + \from{src/outcomes.dtx}{classXimera} + \from{src/macros.dtx}{classXimera} + \from{src/theorems.dtx}{classXimera} + \from{src/enumerate.dtx}{classXimera} + \from{src/proof.dtx}{classXimera} + \from{src/only.dtx}{classXimera} + \from{src/problem.dtx}{classXimera} + \from{src/hints.dtx}{classXimera} + \from{src/abstract.dtx}{classXimera} + \from{src/title.dtx}{classXimera} + \from{src/image.dtx}{classXimera} + \from{src/interactives/javascript.dtx}{classXimera} + \from{src/interactives/include.dtx}{classXimera} + \from{src/interactives/geogebra.dtx}{classXimera} + \from{src/interactives/desmos.dtx}{classXimera} + \from{src/interactives/google.dtx}{classXimera} + \from{src/interactives/graph.dtx}{classXimera} + \from{src/link.dtx}{classXimera} + \from{src/interactives/video.dtx}{classXimera} + \from{src/answer.dtx}{classXimera} + \from{src/choice.dtx}{classXimera} + \from{src/solution.dtx}{classXimera} + \from{src/feedback.dtx}{classXimera} + \from{src/freeresponse.dtx}{classXimera} + \from{src/verbatim.dtx}{classXimera} + \from{src/dialogue.dtx}{classXimera} + \from{src/instructornotes.dtx}{classXimera} + \from{src/xkcd.dtx}{classXimera} + \from{src/foldable.dtx}{classXimera} + \from{src/leash.dtx}{classXimera} + \from{src/interactives/sagemath.dtx}{classXimera} + \from{src/jax.dtx}{classXimera} + \from{src/ungraded.dtx}{classXimera} + \from{src/clearEnv.dtx}{classXimera} + \from{src/hideEnv.dtx}{classXimera} + } +} +\generate{ + \file{xourse.cls}{ + \from{ximera.dtx}{classXourse} + \from{src/optionsxourse.dtx}{classXourse} + \from{src/activity.dtx}{classXourse} + \from{src/sectioning.dtx}{classXourse} + \from{src/logo.dtx}{classXourse} + \from{src/graded.dtx}{classXourse} + } +} +\generate{ + \file{ximera.cfg}{ + \from{ximera.dtx}{cfgXimera} + \from{src/pagesetup.dtx}{cfgXimera} + \from{src/packages.dtx}{cfgXimera} + \from{src/jax.dtx}{cfgXimera} + \from{src/sectioning.dtx}{cfgXimera} + \from{src/title.dtx}{cfgXimera} + \from{src/abstract.dtx}{cfgXimera} + \from{src/image.dtx}{cfgXimera} + \from{src/outcomes.dtx}{cfgXimera} + \from{src/textcolor.dtx}{cfgXimera} + \from{src/verbatim.dtx}{cfgXimera} + \from{src/html.dtx}{cfgXimera} + \from{src/ending.dtx}{cfgXimera} + } +} +\generate{ + \file{ximera.4ht}{ + \from{ximera.dtx}{htXimera} + \from{src/pagesetup.dtx}{htXimera} + \from{src/title.dtx}{htXimera} + \from{src/problem.dtx}{htXimera} + \from{src/macros.dtx}{htXimera} + \from{src/theorems.dtx}{htXimera} + \from{src/image.dtx}{htXimera} + \from{src/dialogue.dtx}{htXimera} + \from{src/foldable.dtx}{htXimera} + \from{src/interactives/video.dtx}{htXimera} + \from{src/xkcd.dtx}{htXimera} + \from{src/link.dtx}{htXimera} + \from{src/interactives/graph.dtx}{htXimera} + \from{src/answer.dtx}{htXimera} + \from{src/choice.dtx}{htXimera} + \from{src/freeresponse.dtx}{htXimera} + \from{src/interactives/javascript.dtx}{htXimera} + \from{src/interactives/include.dtx}{htXimera} + \from{src/interactives/geogebra.dtx}{htXimera} + \from{src/interactives/desmos.dtx}{htXimera} + \from{src/interactives/google.dtx}{htXimera} + \from{src/feedback.dtx}{htXimera} + \from{src/leash.dtx}{htXimera} + \from{src/labels.dtx}{htXimera} + \from{src/interactives/sagemath.dtx}{htXimera} + \from{src/ungraded.dtx}{htXimera} + \from{src/footnotes.dtx}{htXimera} + \from{src/ending.dtx}{htXimera} + } +} +\generate{ + \file{xourse.4ht}{ + \from{ximera.dtx}{htXourse} + \from{src/logo.dtx}{htXourse} + \from{src/metadata.dtx}{htXourse} + \from{src/activity.dtx}{htXourse} + \from{src/sectioning.dtx}{htXourse} + \from{src/graded.dtx}{htXourse} + \from{src/interactives/video.dtx}{htXourse} + \from{src/ending.dtx}{htXourse} + } +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/latex/ximera} +\generate{ + \file{ximera.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/ximera} +\generate{ + \file{README.txt}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{ximera.dtx} +%</driver> +%<classXimera|classXourse>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<classXimera>\ProvidesClass{ximera} +%<classXourse>\ProvidesClass{xourse} +%<classXimera|classXourse> [2024/5/8 v1.5 +%<classXimera> Simultaneously write print and online interactive materials] +%<classXourse> Combining Ximera activities into Xourses] +%<*driver> +\documentclass{ltxdoc} +\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry} +\usepackage[numbered]{hypdoc} +\usepackage{hyperref} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} +\DocInput{\jobname.dtx} +\section{ximera.cls} +\DocInput{src/options.dtx} +\DocInput{src/packages.dtx} +\DocInput{src/pagesetup.dtx} +\subsection{Structure} +\DocInput{src/macros.dtx} +\DocInput{src/theorems.dtx} +\DocInput{src/enumerate.dtx} +\DocInput{src/proof.dtx} +\DocInput{src/problem.dtx} +\DocInput{src/hints.dtx} +\DocInput{src/solution.dtx} +\DocInput{src/verbatim.dtx} +\DocInput{src/dialogue.dtx} +\DocInput{src/instructornotes.dtx} +\DocInput{src/only.dtx} +\DocInput{src/foldable.dtx} +\DocInput{src/leash.dtx} +\subsection{Document metadata} +\DocInput{src/metadata.dtx} +\DocInput{src/abstract.dtx} +\DocInput{src/title.dtx} +\DocInput{src/outcomes.dtx} +\DocInput{src/labels.dtx} +\subsection{Images} +\DocInput{src/image.dtx} +\DocInput{src/tikzexport.dtx} +\DocInput{src/xkcd.dtx} +\subsection{Links} +\DocInput{src/hyperref.dtx} +\subsection{Interactives} +\DocInput{src/interactives/include.dtx} +\DocInput{src/interactives/google.dtx} +\DocInput{src/interactives/geogebra.dtx} +\DocInput{src/interactives/desmos.dtx} +\DocInput{src/interactives/graph.dtx} +\DocInput{src/interactives/video.dtx} +\DocInput{src/interactives/javascript.dtx} +\DocInput{src/interactives/sagemath.dtx} +\subsection{Answerables} +\DocInput{src/answer.dtx} +\DocInput{src/choice.dtx} +\DocInput{src/freeresponse.dtx} +\DocInput{src/feedback.dtx} +\DocInput{src/ungraded.dtx} +\subsection{Support for the web} +\DocInput{src/jax.dtx} +\DocInput{src/html.dtx} +\subsection{Tools} +\DocInput{src/suppress.dtx} +\DocInput{src/ending.dtx} +\section{xourse.cls} +\DocInput{src/optionsxourse.dtx} +\DocInput{src/activity.dtx} +\DocInput{src/sectioning.dtx} +\DocInput{src/graded.dtx} +\DocInput{src/logo.dtx} +\end{document} +%</driver> +% \fi +% +%\def\fileversion{v1.5} +%\def\filedate{2024/5/8} +% \DoNotIndex{\newcommand,\newenvironment} +% +%\title{\textsf{ximera} --- Simultaneously write print and online interactive materials.\thanks{This file +% describes version \fileversion, last revised \filedate.} +%} +%\author{Jim Fowler \and Jeramiah Hocutt \and Oscar Levin \and Jason Nowell \and Wim Obbels \and Hans Parshall \and Bart Snapp} +%\date{Released \filedate} +% +%\maketitle +% +%\changes{v1.0.0}{2018/05/25}{First public release} +%\changes{v1.5.0}{2024/05/8}{Submitting to CTAN} + +% \begin{abstract} +% ``\textsf{Ximera} begins where \TeX\ ends.'' The \textsf{ximera} +% class aids in the creation of handouts, worksheets, exercises, and +% sections of textbooks to be used either individually or ``glued'' +% together via a \textsf{xourse} file. All \textsf{ximera} documents +% can be deployed in an online interactive form via \texttt{xake} +% See: \href{https://ximera.osu.edu}{Ximera Project} and the source +% code on \href{https://github.com/XimeraProject}{GitHub}. +% \end{abstract} +% +% \section{Introduction} +% +% Ximera, pronounced ``chimera,'' (\textbf{X}imera: +% \textbf{I}nteractive, \textbf{M}athematics, +% \textbf{E}\textbf{R}esources, for \textbf{A}ll) is an open-source +% platform that provides tools for authoring and publishing (PDF and +% Online), open-source, interactive educational content, such as textbooks, assessments, and online courses. +% The Ximera document class provides the following features: +% \begin{description} +% \item[Formatting for different domains] The Ximera document class +% provides built-in support for formatting documents in both PDF and +% online formats, which can be a big time-saver for +% authors. Additionally, it allows for the simultaneous creation of +% solution manuals and teaching editions, which can be especially +% useful for educators. +%\item[Compiling individually or as a whole] With the Ximera document +% class, authors can easily compile individual documents or an entire +% collection of documents. This flexibility can be helpful when making +% changes to specific documents without having to re-compile the +% entire collection. Moreover, this allows an author to share large +% portions of a text with another, with minimal changes. +%\item[Interactive content] The Ximera document class allows for the +% inclusion of interactive content, such as answer boxes that are +% validated by a client-side computer algebra system. Additionally, it +% allows for the embedding of YouTube videos, Desmos graphs, and +% GeoGebra interactives. +%\item[All content displayed] By default, the Ximera document class +% displays all content to the author. This means the author see what +% the students see, along with answers and solutions, and links (that +% can be checked) to various interactive elements (when deployed, the +% interactive elements are truly embedded). This can be especially +% helpful for catching errors or inconsistencies in the content. +%\end{description} +% +%Online examples can be found at +%\begin{center} +%\url{https://go.osu.edu/ximera-examples} +%\end{center} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%\Finale |