<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://mathtech.org/feed.xml" rel="self" type="application/atom+xml" /><link href="http://mathtech.org/" rel="alternate" type="text/html" /><updated>2026-03-13T21:06:25+00:00</updated><id>http://mathtech.org/feed.xml</id><title type="html">MathTech.org</title><subtitle>Showcasing open-source technologies that innovate mathematics education and communication.</subtitle><author><name>MathTech.org</name></author><entry><title type="html">Creating accessible diagrams with PreFigure</title><link href="http://mathtech.org/2026/03/09/prefigure.html" rel="alternate" type="text/html" title="Creating accessible diagrams with PreFigure" /><published>2026-03-09T00:00:00+00:00</published><updated>2026-03-09T00:00:00+00:00</updated><id>http://mathtech.org/2026/03/09/prefigure</id><content type="html" xml:base="http://mathtech.org/2026/03/09/prefigure.html"><![CDATA[<p>As mathematicians, we often develop and express important ideas graphically, and we encourage our students to complement their technical capabilities with a more intuitive, graphical understanding.  A picture’s worth a thousand words, right?</p>

<p>Yet creating engaging diagrams that communicate our specific ideas and including them in mathematical documents can be challenging.  While readers have no doubt found a variety of ways to address this problem, here is a set of reasonable expectations we should have for any graphical authoring system:</p>

<ul>
  <li>Free and open source, naturally</li>
  <li>Flexibility to create diagrams in many mathematical disciplines</li>
  <li>Integrates with our workflow for creating textual documents</li>
  <li>Ability to create the same diagram in different formats for reading, say, in print or in a browser</li>
  <li>Facilitates  staying in our “authoring brains” so that we focus on the content we wish to express rather than technical details of how that content will be rendered</li>
  <li>Accessibility features that allow all readers to explore and interact with graphical content regardless of their capabilities</li>
</ul>

<p><a href="https://prefigure.org">PreFigure</a> is designed to achieve all of these goals.  To create a PreFigure diagram, an author writes a description of the diagram in an intuitive markup language that reflects the mathematical meaning of the diagram.  That description can then be converted into a variety of image formats, such as SVG, PDF, and PNG, suitable for use in a variety of environments.  Here are some sample diagrams.</p>

<p><img src="/assets/images/20260309/calculus.png" alt="the graph of a function and the tangent line to the graph at a point" />
<img src="/assets/images/20260309/linear_alg.png" alt="Two vectors in the plane along with a linear combination of the vectors" /></p>

<p><img src="/assets/images/20260309/automaton.png" alt="A directed network with loops at two vertices" />
<img src="/assets/images/20260309/sym_diff.png" alt="A Venn diagram illustrating the symmetric difference of two sets" /></p>

<p>PreFigure also prioritizes diagrams that are accessible to a wide variety of readers.  From the same PreFigure description used to make an SVG, an author can easily create a tactile version of the diagram, which can be explored by a visually impaired reader.  Adding a set of annotations to the description allows readers to interactively explore a diagram using a screen reader.  In fact, annotated diagrams provide a richer experience for all readers as they encourage more active engagement with our content.</p>

<h2 id="an-annotated-diagram">An annotated diagram</h2>

<p>Below is an annotated PreFigure diagram that can be explored interactively.  When the focus goes to the diagram, say, by clicking in the diagram, the reader hears a high-level description of the diagram, similar to alt text. There is more, however: the set of annotations forms a tree-like structure so that, at each level, additional details can be requested using the arrow keys.  The graphical components currently being explored are highlighted with a high contrast color and magnified.  A visual cue, called an earcon, issued in response to an arrow press signals that no more information is available in that direction.</p>

<div class="ChemAccess-element" data-src="/assets/images/20260309/grad-demo.svg" data-cml="/assets/images/20260309/grad-demo-annotations.xml">
</div>

<p>The source of a PreFigure diagram is an XML description of the diagram.  For instance, the PreFigure source for the diagram above, without annotations, is presented here.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;diagram</span> <span class="na">dimensions=</span><span class="s">"(300, 300)"</span> <span class="na">margins=</span><span class="s">"5"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;definition&gt;</span>f(x,y)=y^2 + y + x^3 + 3*x^2 - 2<span class="nt">&lt;/definition&gt;</span>
    <span class="nt">&lt;definition&gt;</span>x0 = (1,1)<span class="nt">&lt;/definition&gt;</span>
    <span class="nt">&lt;definition&gt;</span>del_f = 0.2*grad(f, x0)<span class="nt">&lt;/definition&gt;</span>
    <span class="nt">&lt;coordinates</span> <span class="na">bbox=</span><span class="s">"(-4,-4,4,4)"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;grid-axes/&gt;</span>
        <span class="nt">&lt;contour</span> <span class="na">at=</span><span class="s">"contour"</span> <span class="na">function=</span><span class="s">"f"</span> <span class="na">value=</span><span class="s">"4"</span> <span class="na">stroke=</span><span class="s">"blue"</span><span class="nt">/&gt;</span>
        <span class="nt">&lt;vector</span> <span class="na">at=</span><span class="s">"gradient"</span> <span class="na">v=</span><span class="s">"del_f"</span> <span class="na">tail=</span><span class="s">"x0"</span><span class="nt">/&gt;</span>
        <span class="nt">&lt;point</span> <span class="na">at=</span><span class="s">"x0"</span> <span class="na">p=</span><span class="s">"x0"</span> <span class="na">alignment=</span><span class="s">"sw"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;m&gt;</span>x_0<span class="nt">&lt;/m&gt;</span>
        <span class="nt">&lt;/point&gt;</span>
        <span class="nt">&lt;label</span> <span class="na">at=</span><span class="s">"grad-label"</span> <span class="na">anchor=</span><span class="s">"0.5*del_f+x0"</span> <span class="na">alignment=</span><span class="s">"se"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;m&gt;</span>\nabla f(x_0)<span class="nt">&lt;/m&gt;</span>
        <span class="nt">&lt;/label&gt;</span>
    <span class="nt">&lt;/coordinates&gt;</span>
    <span class="nt">&lt;annotations&gt;</span>
        ...
    <span class="nt">&lt;/annotations&gt;</span>
<span class="nt">&lt;/diagram&gt;</span>
</code></pre></div></div>

<p>PreFigure syntax is meant to reflect the mathematical meaning of the graphical components that are added.  For instance, one adds a contour with a <code class="language-plaintext highlighter-rouge">contour</code> element and a vector with a <code class="language-plaintext highlighter-rouge">vector</code> element.  In this way, PreFigure encourages authors to concentrate on the principal ideas that the diagram is meant to convey rather than the details of how specific objects will be rendered.  Mathematical labels are written in LaTeX syntax.</p>

<p>The values of the <code class="language-plaintext highlighter-rouge">at</code> attributes assigned to components serve as references to be used by the annotations, which are included in a separate section of the PreFigure source, as shown below. In addition to writing the text that will be vocalized, the author describes the relationships between various graphical components using the XML structure of the source.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
    <span class="nt">&lt;annotations&gt;</span>
        <span class="nt">&lt;annotation</span> <span class="na">ref=</span><span class="s">"figure"</span>
                    <span class="na">text=</span><span class="s">"A contour of a function of two variables, a point on that contour, and the gradient of the function at that point"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;annotation</span> <span class="na">ref=</span><span class="s">"contour"</span>
                        <span class="na">text=</span><span class="s">"A contour of the function.  The value of the function at each point of the contour is four."</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;annotation</span> <span class="na">ref=</span><span class="s">"x0"</span>
                        <span class="na">text=</span><span class="s">"A point x naught on the contour"</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;annotation</span> <span class="na">ref=</span><span class="s">"gradient"</span>
                        <span class="na">text=</span><span class="s">"The gradient of the function at the point x naught is orthogonal to the contour"</span><span class="nt">&gt;</span>
                <span class="nt">&lt;annotation</span> <span class="na">ref=</span><span class="s">"grad-label"</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;/annotation&gt;</span>
        <span class="nt">&lt;/annotation&gt;</span>
    <span class="nt">&lt;/annotations&gt;</span>
</code></pre></div></div>

<p>Ample evidence points to the fact that attention to accessibility results in a better experience for everyone.  Annotated diagrams offer additional evidence.  While the original motivation for this technology was to support visually impaired readers, one can easily imagine that explorable diagrams encourage all readers to read more actively and allow authors to call more specific attention to relationships that may otherwise be missed.</p>

<p>Annotations are explored using the <code class="language-plaintext highlighter-rouge">diagcess</code> Javascript library created by <a href="https://www.birmingham.ac.uk/staff/profiles/computer-science/academic-staff/sorge-volker">Volker Sorge</a>.</p>

<h2 id="tactile-diagrams">Tactile diagrams</h2>

<p>A tactile version of the diagram, such as that shown below, may be created from the same source and embossed on 11.5” x 11” paper.</p>

<p><img src="/assets/images/20260309/grad-demo-tactile.png" alt="The diagram containing the contour, a point, and the gradient rendered in a tactile format" /></p>

<p>There are a few features to notice.  The labels, of course, have been converted to braille.  In addition, elements in the foreground, such as the contour, point, and vector, are surrounded by 1/8” of negative space.  This feature is the result of feedback from tactile readers and is meant to prevent graphical components from colliding with one another and possibly resulting in confusion.  More broadly, the tactile diagrams produced by PreFigure are designed to conform to conventions developed by the <a href="https://www.brailleauthority.org/">Braille Authority of North America</a>.</p>

<p>While PreFigure is an independent project for authoring accessible diagrams, it is very much inspired by and shares the same design principles as <a href="https://pretextbook.org">PreTeXt</a>.  In fact, PreFigure originated at a workshop held at the <a href="https://nfb.org/">National Federation of the Blind</a> and organized to address the challenge of automating the production of tactile diagrams to accompany the conversion of PreTeXt documents into braille.  PreFigure is now fully integrated into PreTeXt; one may include PreFigure source directly inside a PreTeXt document and have diagrams created in the appropriate format as part of the PreTeXt build process.</p>

<p>It is possible that an instructor preparing course materials will never need to create tactile versions of diagrams for their students.  Nevertheless, I encourage all authors to inspect the tactile versions of their PreFigure diagrams since imagining a wider audience will lead to more careful design choices.  For example, tactile diagrams will frequently appear more cluttered than a sighted version of the same diagram simply because of the way that space is allocated.  This hopefully leads authors to reevaluate whether all the features they have included are necessary for communicating their essential ideas and whether some simplifications may be possible.  In this way, again, consideration of a wider audience will improve the experience of everyone.</p>

<p>During my 27 years at Grand Valley State, I estimate that I’ve had over 3000 students in total.  The incidence of blindness in the general population is estimated to be about 0.6%, which means it is reasonable that I should have had about 18 blind students during this time.  However, like most of my colleagues, I have never had a blind student, and many speculate that the paucity of high-quality mathematical resources for visually impaired students is a contributing factor.  With more attention given to accessibility issues, we can lay the groundwork for everyone to experience the joy of mathematical thinking.</p>

<h2 id="using-prefigure">Using PreFigure</h2>

<p>While the <a href="https://prefigure.org">PreFigure homepage</a> provides users with documentation and other resources, perhaps the best way to get started creating diagrams is the <a href="https://davidaustinm.github.io/prefigure/">PreFigure Playground</a>, which was constructed by 
<a href="https://www.math.toronto.edu/siefkenj/homepage/index.html">Jason Seifken</a>.  In the spirit of a playground, users can quickly begin authoring diagrams and experimenting with different features.  Notice the <code class="language-plaintext highlighter-rouge">Visual/Tactile</code> toggle that allows the author to switch between different views of the diagram.  Annotations may also be added and explored in the playground.</p>

<p>At the top of the Playground are links to the PreFigure homepage as well as a set of sample diagrams and their source files that appear in the PreFigure documentation.  Users may copy source from the documentation into the Playground and modify the diagrams as they wish.</p>

<p>While originally created as an environment for authors to begin writing diagrams, the Playground is also being used with a group of blind students in Hyderabad who are authoring and exploring their own diagrams.  As a result of this work, one may notice, when no annotations are present in the source, that there is a default set of annotations that reads back the PreFigure source and highlights the resulting graphical components.  It is hoped, more broadly, that this preliminary work will lead to more visually impaired authors creating their own diagrams.</p>

<p>While the Playground is a good place to start, it is not a fully functional PreFigure production environment as one cannnot create PDF or PNG versions of diagrams.  There are a couple of options available, however.  The PreFigure homepage links to instructions, which are also contained in the documentation, for installing PreFigure locally.  Users wanting to avoid installing anything may also use a <a href="https://github.com/davidaustinm/prefigure-codespace">PreFigure codespace</a> by following the instructions given at that site.  Finally, since PreFigure is fully integrated into PreTeXt, users that are comfortable using either a <a href="https://github.com/PreTeXtBook/pretext-codespace">PreTeXt codespace</a> or the PreTeXt docker container already have a full PreFigure installation.</p>

<p>Please reach out with questions or suggestions!</p>]]></content><author><name>David Austin</name></author><category term="PreFigure" /><category term="diagrams" /><category term="accessibility" /><category term="PreTeXt" /><summary type="html"><![CDATA[As mathematicians, we often develop and express important ideas graphically, and we encourage our students to complement their technical capabilities with a more intuitive, graphical understanding. A picture’s worth a thousand words, right?]]></summary></entry><entry><title type="html">Organizing my Syllabus</title><link href="http://mathtech.org/2026/01/15/organizing-my-syllabus.html" rel="alternate" type="text/html" title="Organizing my Syllabus" /><published>2026-01-15T00:00:00+00:00</published><updated>2026-01-15T00:00:00+00:00</updated><id>http://mathtech.org/2026/01/15/organizing-my-syllabus</id><content type="html" xml:base="http://mathtech.org/2026/01/15/organizing-my-syllabus.html"><![CDATA[<style>
  .caption {
    margin: auto;
  }
  .caption img {
    width:75%;
    max-width: 400px;
    min-width: 200px;
  }
  img + em {
    display: block;
    text-align: center;
    font-size: small;
  }
</style>

<p><em>This post was originally published on <a href="https://www.peter-keep.com/2026-01-14-organizing-my-syllabus/">peter-keep.com</a>.</em></p>

<p>The week before a semester starts is the worst. There are mandatory meetings about “important issues” that have absolutely nothing to do with me and my job. There are meetings about stressful things that have lots to do with me and my job. There are emails and enrollment numbers and course preparation and crises. And the part that I put off the most are the “clicky” things.</p>

<p>“Clicky” things, to me, are the types of tasks that you complete by clicking and typing and navigating through menus and stuff like that. Often these are things that happen on Canvas, the Learning Management System that my college uses. I change dates for assignments<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>. I change dates in pages. I change the order of links to resources. I change the wording in the Outcomes. I rename whole sections of links because I changed the wording of an Outcome. I have to upload new copies of my syllabus and schedule by, you guessed it, clicking through a menu and then clicking through my files.</p>

<p>There are clicky tasks elsewhere, too. In my syllabus document. It’s a huge document, now. There are college policies and departmental policies and state-mandated sections. There’s even information about my actual course in there, if you can find it! I have to sort through it and change my office hours. Then I have to do the same thing for every class, changing the same information several times. Do my Academic Integrity policies match for all of my classes? Are they different in the ways that each course is different and then the same for the stuff that’s applicable to all of my classes?</p>

<p>Anyways, I changed things and some of these clicky things are a bit better now.</p>

<h1 id="accessibility">Accessibility</h1>

<p>The main drive for my changes was accessibility. I was creating my syllabi in LaTeX (what I used for every document I created). LaTeX, unfortunately, is just a way of telling a compiler where to place things on a page. It does that really well, but it ends up looking like nonsense to a screenreader most of the time. And with the April accessibility deadline<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup> coming up, I knew I needed to do something different.</p>

<p>I decided to switch to PreTeXt, a newer type of markup language that is essentially a mashup of XML (for the document structure aspects) and LaTeX (for the math notation) that I was starting to use for my actual course materials anyways. This gave me a whole host of options:</p>

<ul>
  <li>I could generate a syllabus file in different file formats. An HTML file will be the easiest for a screenreader and also easy to host. I could easily generate these using options in the <code class="language-plaintext highlighter-rouge">project.ptx</code> file.</li>
  <li>I was going to rewrite a bunch of my syllabus into this new file format, and so I could think more carefully about organizing the files. I could consolidate all of my common syllabus language (like college policies, etc.) into one place, where I would only need to update it once before proliferating that off to each individual syllabus.</li>
  <li>I could find an alternative to saving and then uploading individual files to a Canvas course page each semester. PreTeXt is configured to work well with GitHub and GitHub pages, so I could use that to create a syllabus website to refer to.</li>
</ul>

<p>I was excited about the changes I was going to make, and this Spring 2026 semester is the first time I really get to test the process—the first time that I made edits and took advantage of the setup in full.</p>

<h1 id="pretext-setup-and-file-organization">PreTeXt Setup and File Organization</h1>

<p>The first step is the easiest: I already had PreTeXt installed and was familiar with using it, so I just needed to create a new project.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>pretext new article
</code></pre></div></div>

<p>I set this up in a folder called “syllabi”, and started thinking about the options for setup.</p>

<p>Before the Fall 2025 semester, I thought really carefully about my file organization. So in the “source” directory in my PreTeXt project, I added some folders: one for all of my common-to-all courses text, and one for each course. I just used the course code for each class.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source
   └── common
   └── 150
   └── 151
</code></pre></div></div>

<p>I have two files in the “source” folder: <code class="language-plaintext highlighter-rouge">main-150.ptx</code> and <code class="language-plaintext highlighter-rouge">main-151.ptx</code>. Each of these files are PreTeXt articles, and essentially only consist of <code class="language-plaintext highlighter-rouge">&lt;xi:include/&gt;</code> statements that populate each course’s syllabus with the relevant sections, policies, etc. The <code class="language-plaintext highlighter-rouge">project.ptx</code> file is set up to define any of the types of files that we can build. In this setup, I have four targets: an HTML and PDF version of each of the two courses.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;project</span> <span class="na">ptx-version=</span><span class="s">"2"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;targets&gt;</span>
    <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">"web150"</span> 
            <span class="na">format=</span><span class="s">"html"</span> 
            <span class="na">source=</span><span class="s">"main-150.ptx"</span>
            <span class="na">deploy-dir=</span><span class="s">"web"</span>
    <span class="nt">/&gt;</span>
    <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">"print150"</span> 
            <span class="na">format=</span><span class="s">"pdf"</span>
            <span class="na">source=</span><span class="s">"main-150.ptx"</span> 
            <span class="na">deploy-dir=</span><span class="s">"pdf"</span>
            <span class="na">output-filename=</span><span class="s">"MTH150-Syllabus.pdf"</span>
    <span class="nt">/&gt;</span>
    <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">"web151"</span> 
            <span class="na">format=</span><span class="s">"html"</span> 
            <span class="na">source=</span><span class="s">"main-151.ptx"</span>
            <span class="na">deploy-dir=</span><span class="s">"web"</span>
    <span class="nt">/&gt;</span>
    <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">"print151"</span> 
            <span class="na">format=</span><span class="s">"pdf"</span>
            <span class="na">source=</span><span class="s">"main-151.ptx"</span> 
            <span class="na">deploy-dir=</span><span class="s">"pdf"</span>
            <span class="na">output-filename=</span><span class="s">"MTH151-Syllabus.pdf"</span>
    <span class="nt">/&gt;</span>
  <span class="nt">&lt;/targets&gt;</span>
<span class="nt">&lt;/project&gt;</span>
</code></pre></div></div>

<p>As I teach more courses in future semesters, I can add another <code class="language-plaintext highlighter-rouge">&lt;target/&gt;</code> to connect a new <code class="language-plaintext highlighter-rouge">main-XYZ.ptx</code> file with a PDF output and one for an HTML output. I can use the same “common” files and create some new course-specific files, like a <code class="language-plaintext highlighter-rouge">catalog.ptx</code> file that includes the catalog description, or a <code class="language-plaintext highlighter-rouge">gradetable.ptx</code> that describes how letter grades are assigned in that course.</p>

<p>From here, I set up a few basic options in the <code class="language-plaintext highlighter-rouge">publication.ptx</code> file.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;publication&gt;</span>
    <span class="nt">&lt;source&gt;</span>
        <span class="nt">&lt;directories</span> <span class="na">external=</span><span class="s">"../assets"</span> <span class="na">generated=</span><span class="s">"../generated-assets"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/source&gt;</span>
    <span class="nt">&lt;html</span> <span class="na">embed-button=</span><span class="s">"yes"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;platform</span> <span class="na">host=</span><span class="s">"web"</span> <span class="na">portable=</span><span class="s">"no"</span><span class="nt">/&gt;</span>
        <span class="nt">&lt;navigation</span> <span class="na">upbutton=</span><span class="s">"no"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/html&gt;</span>
    <span class="nt">&lt;common&gt;</span>
        <span class="nt">&lt;chunking</span> <span class="na">level=</span><span class="s">"0"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/common&gt;</span>
    <span class="nt">&lt;numbering&gt;</span>
        <span class="nt">&lt;divisions</span> <span class="na">part-structure=</span><span class="s">"decorative"</span> <span class="na">chapter-start=</span><span class="s">"1"</span> <span class="na">level=</span><span class="s">"2"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/numbering&gt;</span>
<span class="nt">&lt;/publication&gt;</span>
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">&lt;html embed-button="yes"&gt;</code> is a useful way to easily produce the HTML code for an iframe to include on my Canvas page. The <code class="language-plaintext highlighter-rouge">&lt;chunking level="0"/&gt;</code> option keeps the syllabus on a single page, not split up by sections. The <code class="language-plaintext highlighter-rouge">level="2"</code> option in <code class="language-plaintext highlighter-rouge">&lt;divisions/&gt;</code> controls the way that sections and subsections get numbered (and subsubsections don’t), and I end up with a very readable single page website for each course’s syllabus.</p>

<p>I can build the files using some basic terminal commands.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>pretext build web150
<span class="nv">$ </span>pretext build print50
</code></pre></div></div>

<p>Now that things are organized well, I set up a way to link this easily to Canvas.</p>

<h1 id="external-hosting">External Hosting</h1>

<p>My “syllabi” folder is a git repository, linked to my GitHub account. This means that there is whole backbone of version control and file syncing to utilize. Combined with the built-in PreTeXt tools, it is pretty easy to host my syllabus and link it to my Canvas course site.</p>

<p>PreTeXt has a built in command to publish any PreTeXt document on a website using GitHub pages.</p>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>pretext deploy
</code></pre></div></div>

<p>This takes all of the latest versions of the different formats that the syllabi get built in, and creates a page hosting them all, configured by GitHub. In my “syllabi” repository, I set my GitHub page to deploy from the <code class="language-plaintext highlighter-rouge">gh-pages</code> branch, something managed automatically by PreTeXt.</p>

<p class="caption"><img src="/assets/images/20260115/github-pages.png" alt="Build and deployment, Source: Deploy from a branch, Your GitHub Pages site is currently being built from the gh-pages branch. Learn more about configuring the publishing source for your site." />
<em>Screenshot of the Pages settings in the repositories settings.</em></p>

<p>To link these to Canvas, I can include a url to the files (for PDFs) or a direct link to the website url for the HTML versions. But I decided to take advantage of the iframe embed code. I created a page on my Canvas course, and simply copied and pasted the embedded iframe HTML code into the page’s HTML editor.</p>

<p class="caption"><img src="/assets/images/20260115/embed.png" alt="Box on a website that says &quot;Copy the code below to embed this page in your own website or LMS page.&quot; It is followed by `&lt;iframe&gt;&lt;/iframe&gt;` with for the syllabus page." />
<em>iframe code for embedding.</em></p>

<p>Now I have a page on my Canvas site that I never need to update: it will automatically show the web version of the syllabus for that course, and will reflect any changes I make (since the content is not actually hosted on Canvas).</p>

<p>Last, I built a folder in the “syllabi” directory called “site,” which allows me to include files for the website that is deployed as a GitHub page. For instance, I could build an <code class="language-plaintext highlighter-rouge">index.html</code> file, include some CSS files, and create a nice landing page for my syllabi. All that I have done, so far, is created an “archived” folder. This includes the previous semesters’ syllabi as PDFs. I rename each one based on the year and semester, and move it there before beginning the edits for a new semester.</p>

<h1 id="is-this-better">Is This Better?</h1>

<p>Like anything, I will still probably make some changes. After prepping my syllabi for the beginning of this Spring semester, I got to test how the editing worked as well as revisit my organization. I know I would like to reorganize a couple of things: maybe I should split the some pages into more granular ones, with their <code class="language-plaintext highlighter-rouge">&lt;xi:include/&gt;</code> structure. I would still like to automate more of my course calendar and reduce the amount of fiddling I have to do.</p>

<p>And I still have a million of little clicky tasks to do on Canvas. I don’t think that’s ever going to go away. But at least the number of clicky tasks that I have are fewer and these specific ones are less annoying!</p>

<p>Cheers to the beginning of the Spring 2026 semester, and hopefully the end of the clicky stuff until August, when I have to prep for the Fall semester.</p>

<h2 id="footnotes">Footnotes</h2>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Why are there three dates for every assignment and why are they never in the order I expect them to be? <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p><a href="https://www.ada.gov/resources/2024-03-08-web-rule/#how-long-state-and-local-governments-have-to-comply-with-the-rule">Fact Sheet: New Rule on the Accessibility of Web Content and Mobile Apps Provided by State and Local Governments</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Peter Keep</name></author><category term="PreTeXt" /><category term="accessibility" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Editathons: Getting the Most Out of Community Editing</title><link href="http://mathtech.org/2025/12/01/editathon.html" rel="alternate" type="text/html" title="Editathons: Getting the Most Out of Community Editing" /><published>2025-12-01T00:00:00+00:00</published><updated>2025-12-01T00:00:00+00:00</updated><id>http://mathtech.org/2025/12/01/editathon</id><content type="html" xml:base="http://mathtech.org/2025/12/01/editathon.html"><![CDATA[<p>As yet another Fall semester comes to a close, I’m finalizing the logistics for our next <a href="www.tbil.org">Team-Based Inquiry Learning (TBIL)</a> editathon—a 4-day stretch of focused editing to review and implement improvements that have been suggested to us over the semester. 
The purpose of this post is to share a little bit about what happens at editathon, invite newcomers to join the party, and encourage others to start their own community editing parties!</p>

<h2 id="maintaining-high-quality-open-eduation-resources">Maintaining High-Quality Open Eduation Resources</h2>
<p>One of my favourite parts about authoring course materials as Open Eduation Resources (OERs) in Github is our ability to incorporate feedback and suggestions from our community of users. 
As a user leaving feedback, it’s as easy as leaving an issue on the repository. 
The details of how you and your authoring team handle this feedback will vary depending on the size of your team and the time you have to devote to these tasks, but having this feedback easily visible and organized in the issues section of your project helps you make those decisions.
Developing a strategy to review and make incremental changes with your authoring team helps you improve the quality of your course materials. 
Additionally, this feedback cycle is an important opportunity for us to engage with our user community.</p>

<p>The TBIL community makes these decisions through an editorial board. 
Typically consisting of 4-6 folks, the board meets monthly to review feedback left by the community.
Some of these changes are small-scale edits that are easy to delegate among the board and can be addressed quickly and asynchronously. 
Others require more substantial discussion and effort. 
For these kinds of issues, we’ve found that it’s helpful for us to have some dedicated synchronous focus time a few times each year to address them properly. 
Enter <strong><em>Editathon</em></strong>.</p>

<h2 id="editathon">Editathon</h2>
<p>Twice a year (typically May and December), we host an open-to-the-community editathon for the TBIL Resource Library. 
Taking place over a 4-day period, the editorial board invites any and all users wishing to contribute to our resource suite to join us on Zoom. 
During these sessions, users are welcome to pick away at outstanding issues in our repository and to create new issues associated with their suggestions.</p>

<p>For users, this is a great way to engage more with the TBIL community, make sure your voice is heard, and to practice the Github workflow central to the TBIL Resource Library.
For the editorial board, editathon provides us with fresh perspectives, a motivating environment, and, most importantly, the accountability that comes with setting aside a focused window of time to work.</p>

<h2 id="join-us">Join Us!</h2>
<p>Consider this your invitation to join us for the TBIL Winter 2025 Editathon, taking place Monday December 15th-Thursday December 18th. 
If you’re interested in joining us for editathon, please join the conversation on our
<a href="https://tbil.zulipchat.com/#narrow/channel/481193-editathon/topic/Winter.202025.20Dates.3A.20Dec.2015-18/with/548038883">Zulip chatroom</a>
Our main meeting hours will be:</p>
<ol>
  <li>Monday 10:00am-3:00pm Central</li>
  <li>Tuesday 12:00pm-5:00pm Central</li>
  <li>Wednesday 10:00am-3:00pm Central</li>
  <li>Thursday 12:00pm-5:00pm Central</li>
</ol>

<p>Hope to see you there!</p>]]></content><author><name>Jordan Kostiuk</name></author><category term="open-access" /><category term="authoring," /><category term="editing," /><category term="Pretext" /><summary type="html"><![CDATA[As yet another Fall semester comes to a close, I’m finalizing the logistics for our next Team-Based Inquiry Learning (TBIL) editathon—a 4-day stretch of focused editing to review and implement improvements that have been suggested to us over the semester. The purpose of this post is to share a little bit about what happens at editathon, invite newcomers to join the party, and encourage others to start their own community editing parties!]]></summary></entry><entry><title type="html">So, all your exercises are written in Word…</title><link href="http://mathtech.org/2025/11/21/exercisesfromword.html" rel="alternate" type="text/html" title="So, all your exercises are written in Word…" /><published>2025-11-21T00:00:00+00:00</published><updated>2025-11-21T00:00:00+00:00</updated><id>http://mathtech.org/2025/11/21/exercisesfromword</id><content type="html" xml:base="http://mathtech.org/2025/11/21/exercisesfromword.html"><![CDATA[<p>I’m a biochemistry instructor who has been working on writing an introductory chemistry textbook.  Now, as a user of math rather than a mathematician, my initial approach was to write my textbook in Word and later worry about getting it formatted for HTML and print forms.  My colleague, who is also one of mathtech.org’s editors, had mentioned PreTeXt to me on several occasions, but with the stress of writing/revising/etc. her words basically went in one ear and right out the other.  That is…until it came time to try and move towards publication.  After a few minutes of sitting down with her and <em>actually</em> paying attention (sorry Chrissy), I quickly realized how amazingly powerful PreTeXt was for what I was trying to do.</p>

<p>After a couple of months, most of which was spent trying to find the time to work on it and trying to learn my way around Github, I’ve got most of the text formatted and building in PreTeXt.  Now for the fun of adding in the images, the figures, and the EXERCISES.  Oh dear the exercises.  All of my exercises were written in Word and they often employ the Microsoft Equation Editor (go ahead and let your heads spin around mathematicians…I’ll wait…).  As a chemist, I know about LaTeX, but honestly I didn’t think I’d use equations enough to bother writing entire documents using it.  To make matters worse, each section of my textbook has dozens of problems, the answers are at the end of each section, rather than right next to the question, and yeah…I quickly realized what a pain this was going to be to get every exercise formatted correctly for PreTeXt.</p>

<p>So, I thought that maybe I could write a script to do it for me.  I’d like to say that my programming ability is up to the task (it isn’t…it REALLY, REALLY, isn’t…).  Plus I have NO idea how to parse a docx file.  So, what’s chemist to do…?  Well, I’d heard that ChatGPT was pretty good at writing programs.  What the heck, let’s give it a shot.  I figured I could copy my exercises and answers into a single Word file in a reasonable format that could (hopefully) be easily parsed. I told ChatGPT about my file format and my goals and amazingly, it worked (after a few hiccups that mainly involved me trying to figure out what language would be best/easiest for me to use…i.e. wouldn’t require me to download and install extra packages).  ChatGPT, I discovered, is great at allowing you to incrementally add functionality to a program.  My first attempt could only process text questions and answers.  Later attempts started being able to read the output of the Microsoft Word Equation Editor and format that output into LaTeX.  Then I had ChatGPT add additional functionality to recognize even more types of functions in my Word files.  I started even reaching beyond what’s in my text, challenging ChatGPT to be able to convert integrals and limits (this isn’t working fully yet, but if you want to to play around with what I’ve started, have at it!).</p>

<p>After several hours worth of back and forth with ChatGPT…occasionally chewing out the brainless wonder kid for messing up the code that had been working while attempting to fix other things and whatnot…, I’ve got a functional program that reads Word files that are formatted in a file called <strong>Input.docx</strong> as a nested list of exercises, answers, hints, and solutions, for example:</p>

<ol>
  <li>
    <p>Question 1</p>

    <p>a. Answer</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> i. Hint
     1. Solution
</code></pre></div>    </div>
  </li>
  <li>
    <p>Question 2</p>

    <p>a. Answer</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> i. Hint
     1. Solution
</code></pre></div>    </div>
  </li>
</ol>

<p>and it outputs valid PreTeXt exercises with statements, answers, hints and solutions.</p>

<table>
  <thead>
    <tr>
      <th style="text-align: center">Before</th>
      <th style="text-align: center">After</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/assets/images/20251121/exercisesinword.png" alt="Some sample exercises written in Word" /></td>
      <td style="text-align: center"><img src="/assets/images/20251121/exercisesinpretext.png" alt="after conversion, the same sample exercises formatted in PreTeXt" /></td>
    </tr>
  </tbody>
</table>

<p>The Equation Editor to LaTeX functionality still needs some work (limits and integrals don’t work well at the moment…), but it does what I need it to for my chemistry text.  Perhaps my story, my approach, and/or the code below can help you with similar problems you might be facing.</p>

<p>Well, this has been fun invading the mathematical space.  <strong>Chemist out!</strong></p>

<p>To try it yourself, this what I type on the command line:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>powershell.exe -ExecutionPolicy Bypass -File .\ConversionProgram.ps1 -InputDocx .\input.docx -OutputFile .\output.ptx
</code></pre></div></div>

<p>And this is the program: <a href="/assets/files/20251121/ConversionProgram.txt">ConversionProgam.txt</a> (Rename the file to ConversionProgram.ps1).</p>]]></content><author><name>James Vranish</name></author><category term="Word" /><category term="PreTeXt" /><category term="exercises" /><category term="scripts" /><summary type="html"><![CDATA[I’m a biochemistry instructor who has been working on writing an introductory chemistry textbook. Now, as a user of math rather than a mathematician, my initial approach was to write my textbook in Word and later worry about getting it formatted for HTML and print forms. My colleague, who is also one of mathtech.org’s editors, had mentioned PreTeXt to me on several occasions, but with the stress of writing/revising/etc. her words basically went in one ear and right out the other. That is…until it came time to try and move towards publication. After a few minutes of sitting down with her and actually paying attention (sorry Chrissy), I quickly realized how amazingly powerful PreTeXt was for what I was trying to do.]]></summary></entry><entry><title type="html">Making Partially-Handwritten Slides Accessible</title><link href="http://mathtech.org/2025/10/27/annotated-slides.html" rel="alternate" type="text/html" title="Making Partially-Handwritten Slides Accessible" /><published>2025-10-27T00:00:00+00:00</published><updated>2025-10-27T00:00:00+00:00</updated><id>http://mathtech.org/2025/10/27/annotated-slides</id><content type="html" xml:base="http://mathtech.org/2025/10/27/annotated-slides.html"><![CDATA[<h2 id="the-problem">The Problem</h2>

<p>As instructors work to make digital course materials accessible to individuals who use <a href="https://mathtech.org/2025/04/25/screen-reader.html">screen reader technology</a>, a common question is how to approach slides. One common instructional strategy in mathematics courses is to use partially-completed slides that get annotated live during class by writing on a tablet. Some instructors feel that using this approach strikes a balance between handwriting everything on the board, which has the potential downside of spending significant time copying problems onto the board instead of discussing how to solve them, and building intricate slide decks that allow the instructor to step through every single step, which has the potential downside of not demonstrating to students how the instructor might want them to write by hand on graded assignments.</p>

<p>Tools such as Microsoft PowerPoint and Google Slides can be used to produce accessible slide decks, and the instructor can leave space to handwrite materials during classtime. Many instructors provide this version of their slides to students electronically before class, as then students who like to take notes on a tablet can fill in the blank spaces along with the instructor. However, the dilemma is then to figure out how to make the instructor’s <em>annotated</em> slides available to students after class. In the absence of digital accessibility requirements, one could just export the hand-annotated slides from their note-taking application and post to the LMS for students. However, most campuses are interpreting handwritten digital materials as not complying with digital accessibility requirements.</p>

<h2 id="an-idea-for-a-solution">An Idea for a Solution</h2>

<p>Especially in large-lecture courses where I might get lost in the algebra of doing an example in class, I prefer to walk into class with some version of what my annotated notes will look like anyway. When I was still using LaTeX’s <code class="language-plaintext highlighter-rouge">beamer</code> package to prepare my slides, I would go through and annotate them on my tablet before class and carry a printout of those with me to class. (Having a hard copy of the slides with me is also helpful for when I suddenly blank and forget what order things are coming in the slides.)</p>

<p>The experience of already having an annotated version of my slides pretty naturally led me to consider how I could have a <em>typed</em> version of the annotated slides available for my reference before class. One approach would be to prepare the annotated slides in PowerPoint or Google Slides, make a duplicate, and then go through and delete the parts that will be handwritten by the instructor during class. However, maintaining two versions of a file in a format that is not text-based comes with downsides. If you change one file, you have to ensure that commensurate changes are made to the other file, which seems tricky. LaTeX’s notoriously inaccessible PDFs (especially for mathematical content) ruled out using LaTeX as a solution, even though it does allow conditional inclusion of content to produce two output versions from a single text-based source file.</p>

<h2 id="my-solution">My Solution</h2>

<p>I’m an experienced <a href="https://pretextbook.org/">PreTeXt</a> author, having been using it extensively since April 2016. I knew that PreTeXt</p>
<ol>
  <li>provides accessible HTML output,</li>
  <li>allows conditional inclusion of material, and</li>
  <li>can produce RevealJS slideshows.</li>
</ol>

<p>Thus, I figured that there had to be some way that I could leverage PreTeXt to produce two versions of my slides, and I was correct!</p>

<p>PreTeXt manages conditional inclusion of material via the <code class="language-plaintext highlighter-rouge">@component</code> attribute, which can be placed on almost any element. (I probably discovered that it works in more places than the lead PreTeXt developer intended. 🤫) Any element that does not have a <code class="language-plaintext highlighter-rouge">@component</code> attribute is included in all versions, which is nice so you don’t have to put it on everything. Because I knew that I was going to be using this attribute <em>a lot</em>, I went very short on the names of my components. I settled on <strong>a</strong> for the <strong>a</strong>nnotated version of my slides, which I would print for my reference during class and then post for students after class, and <strong>b</strong> for the <strong>b</strong>lank version of my slides that I would load onto my tablet and share with my students for their notetaking purposes.</p>

<p>Once I made that decision, it was pretty easy to move things forward. I created two publication files. The one for the annotated slides contains <code class="language-plaintext highlighter-rouge">&lt;version include="a" /&gt;</code> inside the <code class="language-plaintext highlighter-rouge">source</code> element, while the publication file for the blank slides contains <code class="language-plaintext highlighter-rouge">&lt;version include="b" /&gt;</code>. My <code class="language-plaintext highlighter-rouge">project.ptx</code> file includes two entries for the slides, one for the blank version and one for the annotated version. Usually, I include/exclude entire paragraphs coded as the <code class="language-plaintext highlighter-rouge">p</code> element in PreTeXt. Because a completely empty paragraph sometimes behaves incorrectly, if I need to include a blank paragraph as a way to leave some vertical space, I will use <code class="language-plaintext highlighter-rouge">&lt;nbsp/&gt;</code> inside the <code class="language-plaintext highlighter-rouge">p</code> element. PreTeXt’s <code class="language-plaintext highlighter-rouge">sidebyside</code> also provides a convenient way to produce a column structure inside a slide, although it can take some experimentation to understand the width and some aspects of figure sizing in a PreTeXt <code class="language-plaintext highlighter-rouge">slideshow</code>.</p>

<p>It is even possible in some circumstances to leave blank space in the middle of a paragraph through careful use of PreTeXt elements. For example:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;p&gt;</span>
  An integer <span class="nt">&lt;m&gt;</span>n\gt 1<span class="nt">&lt;/m&gt;</span> is <span class="nt">&lt;term&gt;</span>composite<span class="nt">&lt;/term&gt;</span> provided that there exists
  an integer <span class="nt">&lt;m&gt;</span>m<span class="nt">&lt;/m&gt;</span> such that 
  <span class="nt">&lt;m</span> <span class="na">component=</span><span class="s">"a"</span><span class="nt">&gt;</span>1\lt m\lt n<span class="nt">&lt;/m&gt;</span>
  <span class="nt">&lt;m</span> <span class="na">component=</span><span class="s">"b"</span><span class="nt">&gt;&lt;fillin</span> <span class="na">characters=</span><span class="s">"5"</span> <span class="nt">/&gt;&lt;/m&gt;</span> 
  and 
  <span class="nt">&lt;m</span> <span class="na">component=</span><span class="s">"a"</span><span class="nt">&gt;</span>m\mid n<span class="nt">&lt;/m&gt;</span>
  <span class="nt">&lt;m</span> <span class="na">component=</span><span class="s">"b"</span><span class="nt">&gt;&lt;fillin</span> <span class="na">characters=</span><span class="s">"5"</span> <span class="nt">/&gt;&lt;/m&gt;</span>
<span class="nt">&lt;/p&gt;</span>
</code></pre></div></div>
<p>This code will leave a blank space (with some styling options that can be controlled in the publication file) in the blank version. I wrote on my tablet to fill in those blanks while in class, but the annotated version has a properly typeset and accessible version of the content. To leave space to write in words, you might experiment with putting those words inside an <code class="language-plaintext highlighter-rouge">em</code> tag and then using an <code class="language-plaintext highlighter-rouge">m</code> containing <code class="language-plaintext highlighter-rouge">fillin</code> for the blank even if what you will be writing in the blank isn’t math.</p>

<h2 id="examples">Examples</h2>

<p>To see what these slides look like, I’ve posted a small example of both <a href="https://math.mitchkeller.phd/slides-demo/slides-blank/slides.html">blank</a> and <a href="https://math.mitchkeller.phd/slides-demo/slides-annotated/slides-annotated.html">annotated</a> versions of slides. To navigate these slides online, look near the bottom right of a slide and press the right arrow to see a new topic and press the down arrow to see the next slide within the same topic. You can also use the arrows on your keyboard to navigate back and forth and up and down. A screenshot of my real in-class annotations of one of these slides is included below.</p>

<p><img src="/assets/images/20251027/hand-annotated-slide.png" alt="screenshot of a partially handwritten slide made with pretext" /></p>

<p>A <a href="https://github.com/mitchkeller/slides-demo">Github repository</a> with a very small slide deck is also available for you to use as inspiration as you develop your own slides.</p>

<h2 id="not-just-slides">Not Just Slides</h2>

<p>This approach to maintaining two versions with conditionally-included content from a single source file can be applied to other PreTeXt document types. For example, this semester, I’m teaching a smaller class where I prefer to have something more like guided notes that I can fill in on my tablet during class rather than a slideshow. I use a <code class="language-plaintext highlighter-rouge">book</code> in my PreTeXt source with each chapter corresponding to a chapter of the textbook. Inside each <code class="language-plaintext highlighter-rouge">chapter</code>, I place a <a href="https://mathtech.org/2025/08/17/handouts-and-worksheets.html"><code class="language-plaintext highlighter-rouge">handout</code></a> for each class meeting and use the <code class="language-plaintext highlighter-rouge">@workspace</code> attribute to leave blank space to write in during class. When it doesn’t make sense to put the annotated content inside a <code class="language-plaintext highlighter-rouge">solution</code> or something similar that has built-in PreTeXt features for revealing later, the <code class="language-plaintext highlighter-rouge">@component</code> approach can be used to produce two versions. If you’re using the PreTeXt-CLI’s <code class="language-plaintext highlighter-rouge">pretext deploy</code> option to post to Github pages, then you can use the <code class="language-plaintext highlighter-rouge">@deploy-dir</code> attribute on multiple <code class="language-plaintext highlighter-rouge">target</code> elements so that you can deploy both the blank and annotated version to students.</p>

<h2 id="further-extensions">Further Extensions</h2>

<p>I’ll leave as an exercise for the reader the idea of using something along the lines of <code class="language-plaintext highlighter-rouge">@component="day01"</code> on a high-level element such as <code class="language-plaintext highlighter-rouge">section</code> in a <code class="language-plaintext highlighter-rouge">slideshow</code> or <code class="language-plaintext highlighter-rouge">handout</code> in a <code class="language-plaintext highlighter-rouge">book</code> of <code class="language-plaintext highlighter-rouge">handout</code> elements to gradually release materials to students if you’re the type who manages to prepare a course more than one day in advance (or when you teach the course again in a later semester and can reuse materials). The <code class="language-plaintext highlighter-rouge">@include</code> attribute on <code class="language-plaintext highlighter-rouge">version</code> in the PreTeXt publication file can take a list of things, so you might use <code class="language-plaintext highlighter-rouge">@include="b day01 day02"</code> to include only the high-level elements tagged as <code class="language-plaintext highlighter-rouge">day01</code> or <code class="language-plaintext highlighter-rouge">day02</code> and then only the things tagged with <code class="language-plaintext highlighter-rouge">b</code> inside those for a blank version.</p>]]></content><author><name>Mitch Keller</name></author><category term="PreTeXt" /><category term="tutorial" /><category term="slides" /><category term="accessibility" /><summary type="html"><![CDATA[The Problem As instructors work to make digital course materials accessible to individuals who use screen reader technology, a common question is how to approach slides. One common instructional strategy in mathematics courses is to use partially-completed slides that get annotated live during class by writing on a tablet. Some instructors feel that using this approach strikes a balance between handwriting everything on the board, which has the potential downside of spending significant time copying problems onto the board instead of discussing how to solve them, and building intricate slide decks that allow the instructor to step through every single step, which has the potential downside of not demonstrating to students how the instructor might want them to write by hand on graded assignments. Tools such as Microsoft PowerPoint and Google Slides can be used to produce accessible slide decks, and the instructor can leave space to handwrite materials during classtime. Many instructors provide this version of their slides to students electronically before class, as then students who like to take notes on a tablet can fill in the blank spaces along with the instructor. However, the dilemma is then to figure out how to make the instructor’s annotated slides available to students after class. In the absence of digital accessibility requirements, one could just export the hand-annotated slides from their note-taking application and post to the LMS for students. However, most campuses are interpreting handwritten digital materials as not complying with digital accessibility requirements. An Idea for a Solution Especially in large-lecture courses where I might get lost in the algebra of doing an example in class, I prefer to walk into class with some version of what my annotated notes will look like anyway. When I was still using LaTeX’s beamer package to prepare my slides, I would go through and annotate them on my tablet before class and carry a printout of those with me to class. (Having a hard copy of the slides with me is also helpful for when I suddenly blank and forget what order things are coming in the slides.) The experience of already having an annotated version of my slides pretty naturally led me to consider how I could have a typed version of the annotated slides available for my reference before class. One approach would be to prepare the annotated slides in PowerPoint or Google Slides, make a duplicate, and then go through and delete the parts that will be handwritten by the instructor during class. However, maintaining two versions of a file in a format that is not text-based comes with downsides. If you change one file, you have to ensure that commensurate changes are made to the other file, which seems tricky. LaTeX’s notoriously inaccessible PDFs (especially for mathematical content) ruled out using LaTeX as a solution, even though it does allow conditional inclusion of content to produce two output versions from a single text-based source file. My Solution I’m an experienced PreTeXt author, having been using it extensively since April 2016. I knew that PreTeXt provides accessible HTML output, allows conditional inclusion of material, and can produce RevealJS slideshows. Thus, I figured that there had to be some way that I could leverage PreTeXt to produce two versions of my slides, and I was correct! PreTeXt manages conditional inclusion of material via the @component attribute, which can be placed on almost any element. (I probably discovered that it works in more places than the lead PreTeXt developer intended. 🤫) Any element that does not have a @component attribute is included in all versions, which is nice so you don’t have to put it on everything. Because I knew that I was going to be using this attribute a lot, I went very short on the names of my components. I settled on a for the annotated version of my slides, which I would print for my reference during class and then post for students after class, and b for the blank version of my slides that I would load onto my tablet and share with my students for their notetaking purposes. Once I made that decision, it was pretty easy to move things forward. I created two publication files. The one for the annotated slides contains &lt;version include="a" /&gt; inside the source element, while the publication file for the blank slides contains &lt;version include="b" /&gt;. My project.ptx file includes two entries for the slides, one for the blank version and one for the annotated version. Usually, I include/exclude entire paragraphs coded as the p element in PreTeXt. Because a completely empty paragraph sometimes behaves incorrectly, if I need to include a blank paragraph as a way to leave some vertical space, I will use &lt;nbsp/&gt; inside the p element. PreTeXt’s sidebyside also provides a convenient way to produce a column structure inside a slide, although it can take some experimentation to understand the width and some aspects of figure sizing in a PreTeXt slideshow. It is even possible in some circumstances to leave blank space in the middle of a paragraph through careful use of PreTeXt elements. For example: &lt;p&gt; An integer &lt;m&gt;n\gt 1&lt;/m&gt; is &lt;term&gt;composite&lt;/term&gt; provided that there exists an integer &lt;m&gt;m&lt;/m&gt; such that &lt;m component="a"&gt;1\lt m\lt n&lt;/m&gt; &lt;m component="b"&gt;&lt;fillin characters="5" /&gt;&lt;/m&gt; and &lt;m component="a"&gt;m\mid n&lt;/m&gt; &lt;m component="b"&gt;&lt;fillin characters="5" /&gt;&lt;/m&gt; &lt;/p&gt; This code will leave a blank space (with some styling options that can be controlled in the publication file) in the blank version. I wrote on my tablet to fill in those blanks while in class, but the annotated version has a properly typeset and accessible version of the content. To leave space to write in words, you might experiment with putting those words inside an em tag and then using an m containing fillin for the blank even if what you will be writing in the blank isn’t math. Examples To see what these slides look like, I’ve posted a small example of both blank and annotated versions of slides. To navigate these slides online, look near the bottom right of a slide and press the right arrow to see a new topic and press the down arrow to see the next slide within the same topic. You can also use the arrows on your keyboard to navigate back and forth and up and down. A screenshot of my real in-class annotations of one of these slides is included below. A Github repository with a very small slide deck is also available for you to use as inspiration as you develop your own slides. Not Just Slides This approach to maintaining two versions with conditionally-included content from a single source file can be applied to other PreTeXt document types. For example, this semester, I’m teaching a smaller class where I prefer to have something more like guided notes that I can fill in on my tablet during class rather than a slideshow. I use a book in my PreTeXt source with each chapter corresponding to a chapter of the textbook. Inside each chapter, I place a handout for each class meeting and use the @workspace attribute to leave blank space to write in during class. When it doesn’t make sense to put the annotated content inside a solution or something similar that has built-in PreTeXt features for revealing later, the @component approach can be used to produce two versions. If you’re using the PreTeXt-CLI’s pretext deploy option to post to Github pages, then you can use the @deploy-dir attribute on multiple target elements so that you can deploy both the blank and annotated version to students. Further Extensions I’ll leave as an exercise for the reader the idea of using something along the lines of @component="day01" on a high-level element such as section in a slideshow or handout in a book of handout elements to gradually release materials to students if you’re the type who manages to prepare a course more than one day in advance (or when you teach the course again in a later semester and can reuse materials). The @include attribute on version in the PreTeXt publication file can take a list of things, so you might use @include="b day01 day02" to include only the high-level elements tagged as day01 or day02 and then only the things tagged with b inside those for a blank version.]]></summary></entry><entry><title type="html">Calling all Guest Posters!</title><link href="http://mathtech.org/2025/10/16/guests.html" rel="alternate" type="text/html" title="Calling all Guest Posters!" /><published>2025-10-16T00:00:00+00:00</published><updated>2025-10-16T00:00:00+00:00</updated><id>http://mathtech.org/2025/10/16/guests</id><content type="html" xml:base="http://mathtech.org/2025/10/16/guests.html"><![CDATA[<p>Continuing my series on <a href="/2025/10/10/github-history.html">Getting Started with GitHub</a>, I thought I should
point out that you can directly contribute your own guest post to our blog using your GitHub account,
and it’s probably easier than you think!</p>

<p>The first step is to log into GitHub (or <a href="https://github.com/signup">create your free account</a>).
Then with just two clicks, you can create a “fork” of
<a href="https://github.com/mathtechorg/mathtechorg.github.io/">our <code class="language-plaintext highlighter-rouge">mathtechorg.github.io</code> repository</a>.
and have your own personal copy of our entire blog on your own GitHub account!
(If you’re curious what a fork actually is, here is a
 <a href="https://g4m.code4math.org/ch-collaboration.html#def-forks">relevant section of <em>GitHub for Mathematicians</em></a>.)
Just click “Fork”, and then on the next page click the green “Create Fork” button with all the default settings.</p>

<p><img src="/assets/images/20251016/fork.png" alt="" /></p>

<p>Now that you have your own copy of the MathTech.org blog repository (congrats!),
click on the <code class="language-plaintext highlighter-rouge">_posts</code> folder to see the source files for all our posts:</p>

<p><img src="/assets/images/20251016/posts-folder.png" alt="" /></p>

<p>To start writing your own post, just click “Add File”
and “Create new file”.</p>

<p><img src="/assets/images/20251016/new-file.png" alt="" /></p>

<p>Now you’re almost there! You’ll need to name the file
in the format <code class="language-plaintext highlighter-rouge">YYYY-MM-DD-words.md</code>, and include this
“YAML metadata” at the top of your file:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
title: Title goes here!
tags: words that are related
author: Firstname Lastname
comments: true
---

Write your blog in plain text here!

Or learn about [Markdown](https://www.markdowntutorial.com/)!
</code></pre></div></div>

<p>When you’re ready, click the green “Commit Changes” button.
Your “commit message” should briefly describe your post,
and the “extended description” can go into more detail.
Importantly, be sure to “Create a <strong>new branch</strong>”
(<a href="https://g4m.code4math.org/ch-git-github.html#sec-what-is-git-4">whatever that is</a>)
which can be named whatever is default.</p>

<p><img src="/assets/images/20251016/new-branch.png" alt="" /></p>

<p>One more step remains: it’s time to create a
<a href="https://g4m.code4math.org/ch-collaboration.html#def-pull-request">“pull request”</a>!
This is where you can tell us what your post is about,
and why it’s a great fit for MathTech.org.</p>

<p><img src="/assets/images/20251016/pull-request.png" alt="" /></p>

<p>After a discussion (if necessary!) we’ll hopefully merge
your “PR” and your post will immediately go live. Congrats!</p>

<hr />

<p>Of course, maybe you’re not sure if your post is perfect for our blog, and why
write it all out just to be told it’s not what we’re looking for? That’s a great point,
which is why we have our <a href="https://github.com/mathtechorg/mathtechorg.github.io/issues">Issues tracker</a>
where we plan and discuss our upcoming posts before they are written, or our
<a href="https://discord.gg/64tkJueD6G">Discord server</a> where all discussion about technologies
supporting math education are invited and encouraged. Connect with us and let’s chat!</p>

<p>Thanks for reading, and I look forward to sharing more about Git and GitHub
with the community very soon.</p>]]></content><author><name>Steven Clontz</name></author><category term="GitHub" /><category term="MathTech" /><category term="Blogging" /><summary type="html"><![CDATA[Continuing my series on Getting Started with GitHub, I thought I should point out that you can directly contribute your own guest post to our blog using your GitHub account, and it’s probably easier than you think!]]></summary></entry><entry><title type="html">Getting Started with GitHub</title><link href="http://mathtech.org/2025/10/10/github-history.html" rel="alternate" type="text/html" title="Getting Started with GitHub" /><published>2025-10-10T00:00:00+00:00</published><updated>2025-10-10T00:00:00+00:00</updated><id>http://mathtech.org/2025/10/10/github-history</id><content type="html" xml:base="http://mathtech.org/2025/10/10/github-history.html"><![CDATA[<p><em>This post is supported by National Science Foundation award <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2449139">#2449139</a>.</em></p>

<hr />

<p>While anyone in the mathematical sciences should have no trouble engaging in
the development of software supporting math-related instruction, I find that
many colleagues are daunted by the first steps to move beyond hacking out
a spreadsheet or script for their personal use. And I get it –
those of us working on the theoretical side of things often want our development
environments and collaboration tooling to “just work”, so we can focus on the
interesting task of creating a new great pedagogical tool for our classroom
(and beyond!).</p>

<p>I think a lot folks don’t realize that this isn’t even unique to mathematics-adjacent
faculty dipping their toes into software development. There’s a whole subdiscpline
of engineering focused on “Developer Operations” (DevOps), dedicated to abstracting
that boring nonsense away, so even professional software engineers can focus on their
core work without worrying about the little details of what makes their computers work
or allows their contributions to become a part of a larger project.</p>

<p>This is why I’m so passionate about training mathematicians about modern cloud development
infrastructure powered by GitHub: in 2025, <em>so much</em> of this frustrating setup can
be replaced by big green buttons in your web browser. Push this button, and after waiting
a few minutes, everything you need to write software for mathematics education, <em>and</em>
share and collaborate with other mathematicians on such projects, is at your fingertips,
whether you’re on Windows, Linux, or a smart toaster (assuming it has Chrome installed).</p>

<p>My handbook <a href="https://g4m.code4math.org"><em>GitHub for Mathematicians</em></a> (which is itself
an open collaborative project including contributions from several colleagues) is available
to you to learn how to take advantage of these tools for yourself, and I’m excited to
announce that I’ll be running my next <strong>Getting Started with GitHub</strong> Zoom workshop
on December 15 and 17 this winter.</p>

<p>You can <a href="https://preview.scholarlattice.org/collections/82bace2a-c3ce-4dfc-9089-4feb05dd8af7">register on ScholarLattice</a>
now. But I also plan on sharing several posts over the coming weeks pointing out a few
of my favorite topics from my handbook and training. So join me in about a week, and we’ll
get started exploring the GitHub Cinematic Multiverse by learning about how Git version control
<a href="https://g4m.code4math.org/ch-git-github.html#fig-git-branches">doesn’t treat time as linear</a>! 👀</p>]]></content><author><name>Steven Clontz</name></author><category term="GitHub" /><category term="version-control" /><summary type="html"><![CDATA[This post is supported by National Science Foundation award #2449139. While anyone in the mathematical sciences should have no trouble engaging in the development of software supporting math-related instruction, I find that many colleagues are daunted by the first steps to move beyond hacking out a spreadsheet or script for their personal use. And I get it – those of us working on the theoretical side of things often want our development environments and collaboration tooling to “just work”, so we can focus on the interesting task of creating a new great pedagogical tool for our classroom (and beyond!). I think a lot folks don’t realize that this isn’t even unique to mathematics-adjacent faculty dipping their toes into software development. There’s a whole subdiscpline of engineering focused on “Developer Operations” (DevOps), dedicated to abstracting that boring nonsense away, so even professional software engineers can focus on their core work without worrying about the little details of what makes their computers work or allows their contributions to become a part of a larger project. This is why I’m so passionate about training mathematicians about modern cloud development infrastructure powered by GitHub: in 2025, so much of this frustrating setup can be replaced by big green buttons in your web browser. Push this button, and after waiting a few minutes, everything you need to write software for mathematics education, and share and collaborate with other mathematicians on such projects, is at your fingertips, whether you’re on Windows, Linux, or a smart toaster (assuming it has Chrome installed). My handbook GitHub for Mathematicians (which is itself an open collaborative project including contributions from several colleagues) is available to you to learn how to take advantage of these tools for yourself, and I’m excited to announce that I’ll be running my next Getting Started with GitHub Zoom workshop on December 15 and 17 this winter. You can register on ScholarLattice now. But I also plan on sharing several posts over the coming weeks pointing out a few of my favorite topics from my handbook and training. So join me in about a week, and we’ll get started exploring the GitHub Cinematic Multiverse by learning about how Git version control doesn’t treat time as linear! 👀]]></summary></entry><entry><title type="html">True Randomization in an Introductory Statistics course</title><link href="http://mathtech.org/2025/10/01/randomization.html" rel="alternate" type="text/html" title="True Randomization in an Introductory Statistics course" /><published>2025-10-01T00:00:00+00:00</published><updated>2025-10-01T00:00:00+00:00</updated><id>http://mathtech.org/2025/10/01/randomization</id><content type="html" xml:base="http://mathtech.org/2025/10/01/randomization.html"><![CDATA[<script src="https://sagecell.sagemath.org/static/embedded_sagecell.js"></script>

<script>sagecell.makeSagecell({"inputLocation": ".sage"});</script>

<p>For about a decade now, I’ve been teaching on and off some form of introductory statistics for a wide variety of students across different institutions.  This is an immensely popular course at the undergraduate level which should come as no surprise.  The ability to analyze data and draw some basic inferences and conclusions is incredibly important across numerous disciplines.  Students have a wide variety of interests, goals and prior experience, and not everyone comes to this course with a love or experience with technical mathematics.</p>

<p>Those who have taught some form of introductory statistics will recognize that the mathematical aspects of this course pose one of the greatest barriers to effective instruction.  It’s worth it to take a moment and acknowledge that conceptually, the ideas in intro stats are hard!  The central idea that distinguishes statistics from other branches of mathematics is the notion of randomness and uncertainty, and this can be a difficult concept to illustrate.  In other math courses like Calculus, one may present or have students work through an example to elucidate some concept.  However when dealing with uncertainty and probabilities, any single example or instance of a random variable would be insufficient to highlight the essential behavior.  A lot of the relevant behavior only manifests after dozens, or hundreds, or thousands of occurences.  More to the point, any specific example is, by it’s very nature <em>not</em> random, and in many ways defeating the whole point!  (This is a pet peeve I have with <em>every</em> intro stats textbook I’ve ever read, including very good ones!)</p>

<p>Luckily, with the use of technology, we can use randomization and simulation via languages like <a href="https://cran.rstudio.com/index.html">R</a>.  As mentioned in my <a href="https://mathtech.org/2025/03/05/activelearning.html">previous post</a>, this is also an oppourtunity to introduce active or inquiry elements into the course!</p>

<p>For example in <a href="Exploration 3.5.1: Flip Many Coins 
https://tienchih.github.io/tbil-stats/Sec_NormalApprox.html#exploration-flipmanycoins">this activity</a> from my IBL based statistcs course, we are easing ourselves into discussing the Central Limit Theorem.  The CLT is one of those results that only makes sense at scale.  Even restricting to the binomial case, typically (n=30+) trials for the binomial variable would have to be observed in order for the CLT to reasonably apply.  But to see that the distributions of this variable is normal, one needs many many more instances of these (30+) trials, far too many coins than can be flipped in class!  However, with <a href="https://cran.rstudio.com/index.html">R</a>, this is no issue.</p>

<iframe width="100%" height="500px" src="https://sagecell.sagemath.org/?z=eJxFjsEKAiEYhO-C7_Aff0mW38BL4LEXiHoA11xWclV0O0XvnlFbtxlm-GbSfZm9vTYwUH1BkqCISHDmckhTDKUZRZxxNuWKAUICdfhF4sEZQPoizCZ2zS4lenSoJJD4IOWbH63zfel8uhwllJrHbhzSoHtv0EIAZ0_O5tBW3GASxurtrZm97q9KDWnF_4EXVTI5NQ==&amp;lang=r&amp;interacts=eJyLjgUAARUAuQ==">
</iframe>

<p>In the above <a href="https://cran.rstudio.com/index.html">R</a> cell, we flip <c>coinflips = 10</c> coins, record the number of heads, and repeat this (1000) times, and plot the distribution of the outcomes in a histogram.  The students are then prompted to repeat this for increasing values of <c>coinflips</c>,  (20, 30, 50, 100, 200) etc..  One can observe then that the histogram conforms to a normal curve-like shape.  By editing the <c>prob = c(0.5, 0.5)</c> vector, one can adjust this experiment to any binomial variable, and regardless the normal curve manifests itself.  We can observe all this without stating the CLT, and students may even conjecture as to the general principle at play here.  We may then further illustrate this idea by superimposing the curve on the histogram:</p>

<iframe width="100%" height="500px" src="https://sagecell.sagemath.org/?z=eJxNT0tOwzAQ3VvyHUZZjYtBTqVukGbJBRAcwLFd1ap_2AkUIe6Oo9Cqu_m8b1riyWnbgKC6gkrCqJQSnJns0zH40qgfOCukng6ccRbp9tkVztpsqX3UGe-uOxwfixAr-pgrevAJxucbQPxwBpD-jek6PDQdS3BocJSgxBak5-mxgjauB3x7fX-RUGqe-mKwdMjqA5z9cnbybcarloSpOn1utD9sBFq5a6ulfjq0KdeIFwnR6URRQuslZts9TQ40WF3PU1jcICF8WdpL0NbS5v6tLzMNaehapfp011v8AXQPZR8=&amp;lang=r&amp;interacts=eJyLjgUAARUAuQ==">
</iframe>

<p>The students can confirm their conjecture, and by adjusting <c>coinflips</c> and <c>p</c>, they can verify the result for other binomial variables.  A proof of the CLT is way way beyond the scope of an intro stats class, but using these simulations, students can still engage in the act of inquiry, conjecture, and at least experiential verification.</p>

<p>Another concept which may be difficult to describe without demonstration is the <em>confidence interval</em>.  Given some sample proportion, one generates an interval which has the probability (also a proportion) of containing yet another (the population) proportion.  This is an intricate definition, and students can find the task of unpacking what a confidence interval actually <em>is</em> to be daunting.  However in <a href="https://tienchih.github.io/tbil-stats/Sec_ConfidenceInterval.html#activity-Steak">this activity</a>, the students assuming  that 23% of Americans like their steaks medium rare, and then simulate what random samples of the population may produce as samples and corresponding confidence intervals.  Simulating 100 potential confidence intervals at random, they can see how much variation there may be in samples of size <c>n=50</c> and the corresponding confidence intervals may vary as well.  They can also see that about 95% of the confidence intervals will contain the actual true proportion of 0.23:</p>

<iframe width="100%" height="500px" src="https://sagecell.sagemath.org/?z=eJxtkk1PwzAMhu-V-h-sIqEEMrYOgQRSkDiMIwc-TtM0ZW2mBaVJSLPBQPx3nK7bOtilSmy_j187NcuqFpXj-WCQJoZf4dfxwcXwMk3SJGambiECcPDSkcd7BmYjoG32eXQ0V1ht_XQlC_4_lyZz64kCZSC_3Ya_0wQgniJupoytSM4McxROwM6CwGLR5LUEO4dafUkwAHNvKwgLCc66pRZBWbMFNcbHaoLAeO1jNSDsQZlyo_DWWR8VgH4wpOq2wY7wPGr17z6QLvOM5L3unfYNPYDXQZhS-BKk99anyU-aaPshm5UE7Mb3FqEH-cXNNZxte6bJ0rnjpef_SptlAnk7ss3dG4zfJjzzssxiVM2Ju-NdM5iGU-j2xMgdR8ohYaaXMvtpZnHaBlKQShnSJVFWiU_SJVHKoCADBjl637pjENZO4mCZyWg7wJ_fAbQysiaoPXCqJuzQKK6eFUQxUEjVHyVChyxOzvfeo0iUJX95eh1hOzGLbLLCUtfR6LCOB_oL3D_7-w==&amp;lang=r&amp;interacts=eJyLjgUAARUAuQ==">
</iframe>

<p>These are just a couple of the statistical concepts which lend themselves well to discovery and inquiry via simulation and experimentation.  Having these cells loaded and ready in a <a href="https://tienchih.github.io/tbil-stats/book-1.html">PreTeXt workbook</a> cuts down on the barrier to entry for the students to benefit from these sorts of activities. The structure of the activities are highly informed by <a href="GitHub.com/TeamBasedInquiryLearning">Team Based Inquiry Learning</a> pedagogy, the content follows from the excellent <a href="https://www.openintro.org/">OpenIntro</a> OER.  To talk more about tech in math education, you can find me and many others on the <a href="https://discord.gg/64tkJueD6G">MathTech.org Discord</a>!</p>]]></content><author><name>Tien Chih</name></author><category term="PreTeXt" /><category term="R" /><category term="Inquiry" /><summary type="html"><![CDATA[For about a decade now, I’ve been teaching on and off some form of introductory statistics for a wide variety of students across different institutions. This is an immensely popular course at the undergraduate level which should come as no surprise. The ability to analyze data and draw some basic inferences and conclusions is incredibly important across numerous disciplines. Students have a wide variety of interests, goals and prior experience, and not everyone comes to this course with a love or experience with technical mathematics. Those who have taught some form of introductory statistics will recognize that the mathematical aspects of this course pose one of the greatest barriers to effective instruction. It’s worth it to take a moment and acknowledge that conceptually, the ideas in intro stats are hard! The central idea that distinguishes statistics from other branches of mathematics is the notion of randomness and uncertainty, and this can be a difficult concept to illustrate. In other math courses like Calculus, one may present or have students work through an example to elucidate some concept. However when dealing with uncertainty and probabilities, any single example or instance of a random variable would be insufficient to highlight the essential behavior. A lot of the relevant behavior only manifests after dozens, or hundreds, or thousands of occurences. More to the point, any specific example is, by it’s very nature not random, and in many ways defeating the whole point! (This is a pet peeve I have with every intro stats textbook I’ve ever read, including very good ones!) Luckily, with the use of technology, we can use randomization and simulation via languages like R. As mentioned in my previous post, this is also an oppourtunity to introduce active or inquiry elements into the course! For example in this activity from my IBL based statistcs course, we are easing ourselves into discussing the Central Limit Theorem. The CLT is one of those results that only makes sense at scale. Even restricting to the binomial case, typically (n=30+) trials for the binomial variable would have to be observed in order for the CLT to reasonably apply. But to see that the distributions of this variable is normal, one needs many many more instances of these (30+) trials, far too many coins than can be flipped in class! However, with R, this is no issue. In the above R cell, we flip coinflips = 10 coins, record the number of heads, and repeat this (1000) times, and plot the distribution of the outcomes in a histogram. The students are then prompted to repeat this for increasing values of coinflips, (20, 30, 50, 100, 200) etc.. One can observe then that the histogram conforms to a normal curve-like shape. By editing the prob = c(0.5, 0.5) vector, one can adjust this experiment to any binomial variable, and regardless the normal curve manifests itself. We can observe all this without stating the CLT, and students may even conjecture as to the general principle at play here. We may then further illustrate this idea by superimposing the curve on the histogram: The students can confirm their conjecture, and by adjusting coinflips and p, they can verify the result for other binomial variables. A proof of the CLT is way way beyond the scope of an intro stats class, but using these simulations, students can still engage in the act of inquiry, conjecture, and at least experiential verification. Another concept which may be difficult to describe without demonstration is the confidence interval. Given some sample proportion, one generates an interval which has the probability (also a proportion) of containing yet another (the population) proportion. This is an intricate definition, and students can find the task of unpacking what a confidence interval actually is to be daunting. However in this activity, the students assuming that 23% of Americans like their steaks medium rare, and then simulate what random samples of the population may produce as samples and corresponding confidence intervals. Simulating 100 potential confidence intervals at random, they can see how much variation there may be in samples of size n=50 and the corresponding confidence intervals may vary as well. They can also see that about 95% of the confidence intervals will contain the actual true proportion of 0.23: These are just a couple of the statistical concepts which lend themselves well to discovery and inquiry via simulation and experimentation. Having these cells loaded and ready in a PreTeXt workbook cuts down on the barrier to entry for the students to benefit from these sorts of activities. The structure of the activities are highly informed by Team Based Inquiry Learning pedagogy, the content follows from the excellent OpenIntro OER. To talk more about tech in math education, you can find me and many others on the MathTech.org Discord!]]></summary></entry><entry><title type="html">Using Doenet Interactives to Facilitate Inquiry</title><link href="http://mathtech.org/2025/09/26/doenet-inquiry.html" rel="alternate" type="text/html" title="Using Doenet Interactives to Facilitate Inquiry" /><published>2025-09-26T00:00:00+00:00</published><updated>2025-09-26T00:00:00+00:00</updated><id>http://mathtech.org/2025/09/26/doenet-inquiry</id><content type="html" xml:base="http://mathtech.org/2025/09/26/doenet-inquiry.html"><![CDATA[<p><em>This post describes work of the author funded by National Science Foundation awards <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2011807">#2011807</a> and <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2449139">#2449139</a>.</em></p>

<hr />

<p>An essential element of my <a href="https://TBIL.org">Team-Based Inquiry Learning (TBIL)</a> classroom
is that, as much as possible, students whould be discovering knowledge for themselves,
rather than just being told.</p>

<p>However, I only have 150 minutes with my students each week! And while I’d love to
give them the expeirence of my own inquiry-based learning classrooms (a list of
problems to solve and theorems to prove, a pat on the head, and a “go get ‘em, show
us in class next week what you were able to figure out”), that level of unscaffolded exploration
is frankly not appropriate for the majority of my students, who are mostly non-mathematics
STEM majors.</p>

<p>To this end, a TBIL classroom emphasizes the need for “Scaffolded Exploration”, where students
are given enough tools, preparation, and context to authentically engage with an activity
using inquiry, without leaving them rudderless and unable to even begin to puzzle things out.</p>

<p>One mechanism to do this is to provide students interactive applets to help them explore
mathematical concepts. While many of us who went on to teach in the mathematical sciences
are quite comfortable with drawing several examples to explore a new concept, or even
visualizing things in our own heads, many students have not yet developed such skills, or
at least are not prepared or confident enough to run to a whiteboard or their paper to do
so in a small group of their peers.</p>

<p>I found this particularly tricky when I first introduced
<a href="https://library.tbil.org/2025/linear-algebra/GT.html">geometric properties of linear maps</a>
in my sophomore (engineering-majority) linear algebra course. Asking students to consider
how changing the length of a parallelogram’s base affects the change in its area isn’t
a terribly deep question, but it’s one that definitely benefits from visualization.</p>

<p>So in
<a href="https://teambasedinquirylearning.github.io/linear-algebra/2024e/GT1.html#activity-140">Activity 5.1.8 (2024 Early Edition)</a>
we provided such a static image:</p>

<p><img style="background-color:white; width:100%" alt="before/after of scaling a determinant" src="https://teambasedinquirylearning.github.io/linear-algebra/2024e/generated/latex-image/GT1-image-scaled-column-determinant.svg" /></p>

<p>Well, it’s certainly better than nothing. But for all the abstraction of multiplying the base by $c$,
that $c$ value sure looks fixed at around maybe $1.4$… Would it be nice if students could see the
effect for many different values of $c$, or even observe the effect for the $c$ values of their choosing?</p>

<p>Enter <a href="https://doenet.org/">Doenet</a>, a language and platform for authoring interactive mathematics visualizations.
There’s much to be said about Doenet (and I’m sure to do so in my future posts!), but for today
I’m just going to focus on the end product (which, of course, is 100% open-source markup powered by
100% open-source software). Let’s see how Doenet can helped us create an interactve figure to replace
the above static image in <a href="https://library.tbil.org/2025/linear-algebra/GT1.html#GT1-activity-scale-column">Activity 5.1.10 (2025 Edition)</a>:</p>

<iframe src="https://library.tbil.org/2025/linear-algebra/GT1-interactive-scale-column-if.html" style="width: 100%; background-color: white; min-height: 600px;"></iframe>

<p>This has worked so much better! I can send this link to my students’ computers, and together they will
move the slider, observing the original area when $c=1$, the doubled area when $c=2$, and the halved area
when $c=0.5$! By removing the cognitive overload of visualizing various values of $c$ in their heads
or on paper, students can dive directly into the mathematics, particularly my true goal to make them
realize that $\operatorname{det}([c\vec{v}\hspace{0.5em} \vec{w}])=c\operatorname{det}([\vec{v}\hspace{0.5em} \vec{w}])$
without me telling them this myself!</p>

<p>To see how we explore the determinant’s other geometrical properties using Doenet interactives, check out
<a href="https://library.tbil.org/2025/linear-algebra/GT1.html">Section 5.1 of our 2025 Edition</a>! In a future post, I’ll explore
how to create a great Doenet interactive for yourself at <a href="https://doenet.org/">Doenet.org</a>.
(Or if you’re impatient, you can of course see the Doenet source for this interactive yourself
<a href="https://github.com/TeamBasedInquiryLearning/library/blob/8988a246077a74888461faf57e8acc9292bee8a7/source/linear-algebra/source/05-GT/doenet/GT1-doenet-scale-column.xml">here on GitHub</a>.)</p>

<hr />

<p>As you probably expect,
TBIL activities and interactives aren’t trivial to always come up with alone, which is why I’m excited to work with a great
team of collaborators at <a href="https://github.com/TeamBasedInquiryLearning">GitHub.com/TeamBasedInquiryLearning</a>
to create high-quality, free and open-source TBIL activity books for Precalculus, Calculus,
and Linear Algebra. If you want to get involved, ping me in the
<a href="https://discord.gg/64tkJueD6G">MathTech.org Discord</a>, or even better, join our
<a href="https://tbil.zulipchat.com/">TBIL Zulip chat</a>!</p>]]></content><author><name>Steven Clontz</name></author><category term="PreTeXt" /><category term="Doenet" /><category term="Inquiry" /><summary type="html"><![CDATA[This post describes work of the author funded by National Science Foundation awards #2011807 and #2449139. An essential element of my Team-Based Inquiry Learning (TBIL) classroom is that, as much as possible, students whould be discovering knowledge for themselves, rather than just being told. However, I only have 150 minutes with my students each week! And while I’d love to give them the expeirence of my own inquiry-based learning classrooms (a list of problems to solve and theorems to prove, a pat on the head, and a “go get ‘em, show us in class next week what you were able to figure out”), that level of unscaffolded exploration is frankly not appropriate for the majority of my students, who are mostly non-mathematics STEM majors. To this end, a TBIL classroom emphasizes the need for “Scaffolded Exploration”, where students are given enough tools, preparation, and context to authentically engage with an activity using inquiry, without leaving them rudderless and unable to even begin to puzzle things out. One mechanism to do this is to provide students interactive applets to help them explore mathematical concepts. While many of us who went on to teach in the mathematical sciences are quite comfortable with drawing several examples to explore a new concept, or even visualizing things in our own heads, many students have not yet developed such skills, or at least are not prepared or confident enough to run to a whiteboard or their paper to do so in a small group of their peers. I found this particularly tricky when I first introduced geometric properties of linear maps in my sophomore (engineering-majority) linear algebra course. Asking students to consider how changing the length of a parallelogram’s base affects the change in its area isn’t a terribly deep question, but it’s one that definitely benefits from visualization. So in Activity 5.1.8 (2024 Early Edition) we provided such a static image: Well, it’s certainly better than nothing. But for all the abstraction of multiplying the base by $c$, that $c$ value sure looks fixed at around maybe $1.4$… Would it be nice if students could see the effect for many different values of $c$, or even observe the effect for the $c$ values of their choosing? Enter Doenet, a language and platform for authoring interactive mathematics visualizations. There’s much to be said about Doenet (and I’m sure to do so in my future posts!), but for today I’m just going to focus on the end product (which, of course, is 100% open-source markup powered by 100% open-source software). Let’s see how Doenet can helped us create an interactve figure to replace the above static image in Activity 5.1.10 (2025 Edition): This has worked so much better! I can send this link to my students’ computers, and together they will move the slider, observing the original area when $c=1$, the doubled area when $c=2$, and the halved area when $c=0.5$! By removing the cognitive overload of visualizing various values of $c$ in their heads or on paper, students can dive directly into the mathematics, particularly my true goal to make them realize that $\operatorname{det}([c\vec{v}\hspace{0.5em} \vec{w}])=c\operatorname{det}([\vec{v}\hspace{0.5em} \vec{w}])$ without me telling them this myself! To see how we explore the determinant’s other geometrical properties using Doenet interactives, check out Section 5.1 of our 2025 Edition! In a future post, I’ll explore how to create a great Doenet interactive for yourself at Doenet.org. (Or if you’re impatient, you can of course see the Doenet source for this interactive yourself here on GitHub.) As you probably expect, TBIL activities and interactives aren’t trivial to always come up with alone, which is why I’m excited to work with a great team of collaborators at GitHub.com/TeamBasedInquiryLearning to create high-quality, free and open-source TBIL activity books for Precalculus, Calculus, and Linear Algebra. If you want to get involved, ping me in the MathTech.org Discord, or even better, join our TBIL Zulip chat!]]></summary></entry><entry><title type="html">Handouts and Worksheets in PreTeXt</title><link href="http://mathtech.org/2025/08/17/handouts-and-worksheets.html" rel="alternate" type="text/html" title="Handouts and Worksheets in PreTeXt" /><published>2025-08-17T00:00:00+00:00</published><updated>2025-08-17T00:00:00+00:00</updated><id>http://mathtech.org/2025/08/17/handouts-and-worksheets</id><content type="html" xml:base="http://mathtech.org/2025/08/17/handouts-and-worksheets.html"><![CDATA[<p>We all know that <a href="https://pretextbook.org">PreTeXt</a> is great for writing textbooks.  But did you know that it can also be used to create small, standalone course materials?</p>

<p>Perhaps you want to create an in-class activity to engage your students in group work.  This might require a printout with some questions separated by space for them to write.  Or maybe you like to use <a href="https://www.understandthemath.com/blog/guided-notes-benefits">guided notes</a>, providing your students partially completed outlines for the content of your lesson, with room for them to fill in details.</p>

<p>PreTeXt has had a <code class="language-plaintext highlighter-rouge">&lt;worksheet&gt;</code> element for a few years, but the most recent release (version 2.28) now also includes a <code class="language-plaintext highlighter-rouge">&lt;handout&gt;</code> division that lets you add <code class="language-plaintext highlighter-rouge">workspace</code> to much more than just exercises.  Plus, new styling for the web output make both worksheets and handouts print reliably directly from your browser.  Below, we will explore these new features and I’ll share some tips for authoring course materials.</p>

<!-- break -->

<h2 id="from-web-to-paper">From web to paper</h2>

<p><em>The</em> distinguishing feature of handouts and worksheets is that they are meant to be printed and written on.  Of course, in PreTeXt you can create a PDF just as easily as a webpage (both from the same source), but providing <em>only</em> the PDF for students raises accessibility concerns.  Instead, why not provide students with the accessible web version and let them print a copy directly from their browser.</p>

<p>Take a look at the <a href="https://pretextbook.org/examples/sample-article/html/section-handouts.html">handouts in the sample article</a> (or if you prefer the <a href="https://pretextbook.org/examples/sample-article/html/section-worksheets.html">collection of worksheets</a>).  Every handout and worksheet division will get a “print preview” button next to its title:</p>

<p><img src="/assets/images/20250817/print-preview-icon.png" alt="screenshot of a handout division highlighting the print preview button" /></p>

<p>The print preview will show page layout as it would be printed, including any <em>workspace</em> between content.  You can toggle the paper size between US Letter and A4, and choose to <em>highlight workspace</em>, which is useful if you are trying to author a worksheet and want to fit things onto a page better.</p>

<p><img src="/assets/images/20250817/print-preview-controls.png" alt="screenshot of the &quot;print preview&quot; page for a handout in PreTeXt" /></p>

<p>Printing from this page will should give you an exact replica of the print preview.  If you print with A4 paper, you will want to ensure that you selected the A4 size on the preview, and also that the print dialog has A4 set as the paper size (and similar for Letter, of course).  You could also “Print to PDF” from the print dialog if you want an electronic version you could annotate with a tablet.</p>

<p>One more tip: inside any authored workspace, you can type text that will be included when you print.  The screenshot below has “highlight workspace” turned on so you can see the area better, but this isn’t required to enter text in the workspace.</p>

<p><img src="/assets/images/20250817/print-preview-entered-text.png" alt="screenshot of a text entered in workspace on a PreTeXt handout" /></p>

<h2 id="tips-for-authoring">Tips for authoring</h2>

<p>The handout and worksheet elements in PreTeXt are types of divisions, so they should be placed inside a PreTeXt document just like you would a section or subsection.  They get a title in the usual way, and they can contain pretty much anything a section can (but no further subdivisions).  Here is an example of how you might structure a handout.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;handout&gt;</span>
  <span class="nt">&lt;title&gt;</span>Day 1 Guided Notes<span class="nt">&lt;/title&gt;</span>

  <span class="nt">&lt;p</span> <span class="na">workspace=</span><span class="s">"2in"</span><span class="nt">&gt;</span>
    Warm up: Use the limit definition of the derivative to find <span class="nt">&lt;m&gt;</span>\frac{d}{dx} 4x^2<span class="nt">&lt;/m&gt;</span>.
  <span class="nt">&lt;/p&gt;</span>

  <span class="nt">&lt;definition</span> <span class="na">workspace=</span><span class="s">"1in"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;statement&gt;</span>
      <span class="nt">&lt;p&gt;</span>
        The derivative of a function <span class="nt">&lt;m&gt;</span>f(x)<span class="nt">&lt;/m&gt;</span> is defined as...
      <span class="nt">&lt;/p&gt;</span>
    <span class="nt">&lt;/statement&gt;</span>
  <span class="nt">&lt;/definition&gt;</span>

<span class="nt">&lt;/handout&gt;</span>
</code></pre></div></div>

<h3 id="specifying-workspace">Specifying workspace</h3>

<p>You can specify workspace as an attribute on pretty much any top-level element, and some more nested elements as well (if you find you need workspace on something that isn’t working, get in touch on the <a href="https://groups.google.com/g/pretext-support">pretext-support google group</a>).  Workspace can be specified in inches (<code class="language-plaintext highlighter-rouge">workspace="1.25in"</code>) or centimeters (<code class="language-plaintext highlighter-rouge">workspace="2cm"</code>).</p>

<p>You should think of the workspace you specify as a <em>minimum</em> amount of space.  You will notice that if you toggle on the “highlight workspace” in the print preview, there will be thin green bar on the left; that shows the amount of workspace specified in source, but often the actual rendered workspace is taller than this.  Workspace is added proportionally on each page.</p>

<h3 id="multiple-pages">Multiple pages</h3>

<p>If a handout or worksheet contains more content than will fit on a page, the print preview will try to distribute the content as equitably as possible among the smallest number of pages it needs to accommodate the content an minimum workspace.  This might lead to unexpected or undesired breaks between content you want on the same page.  There are two ways to address this.</p>

<ol>
  <li>
    <p>Modify the amount of workspace on your elements to fill up the pages as desired.  This is where the “highlight workspace” feature is very helpful.  Try to get the green bars to match up with the rendered workspace for the page fitting you want.  If you have an element that you want to bring back to an earlier page, you will want to both decrease workspace on elements before it <em>and</em> increase workspace on elements after it.</p>
  </li>
  <li>
    <p>Divide the handout or worksheet into <code class="language-plaintext highlighter-rouge">&lt;page&gt;</code> elements.  This will shrink workspace that is too tall to fit onto the requested page.  Note that this is not a viable option if you want to split a page in the <em>middle</em> of a PreTeXt element, such as having a project with the first tasks on one page and the last tasks on the next (but perhaps it would be better to redesign your worksheet for pedagogical reasons anyway).</p>
  </li>
</ol>

<p>One warning: the algorithm for page breaks is different for the print versions you get from a web target compared to a pdf target. If you want to make worksheets look identical in both output formats, you will need to tweak the above so both give you the look you need.</p>

<h3 id="margins">Margins</h3>

<p>By default, PreTeXt gives 0.75” margins on all sides of a page.  You can modify this in the publication file (see <a href="https://pretextbook.org/doc/guide/html/publication-file-common.html#common-worksheet">the PreTeXt Guide</a>) or on an individual handout or worksheet using attributes on the division.  For example,</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;handout</span> <span class="na">margin=</span><span class="s">"1in"</span> <span class="na">left=</span><span class="s">"2in"</span> <span class="na">top=</span><span class="s">"0.5in"</span><span class="nt">&gt;</span>
</code></pre></div></div>
<p>will put 1 inch margins on all sides, but override that with 2 inch margins on the left and 0.5 inch margins on the right.  The <code class="language-plaintext highlighter-rouge">margin</code> attribute is not required; it is just a shortcut for changing all margins from the default without needing to use all four of <code class="language-plaintext highlighter-rouge">top</code>, <code class="language-plaintext highlighter-rouge">right</code>, <code class="language-plaintext highlighter-rouge">botton</code> and <code class="language-plaintext highlighter-rouge">left</code>.</p>

<p>By the way, the default behavior is to use these margins for both web and PDF versions, but if you don’t want margins to change for LaTeX, there is a publication file option for that too: <a href="https://pretextbook.org/doc/guide/html/publication-file-latex.html#latex-worksheet-options">Subsection 44.3.8: LaTeX Worksheet Options</a>.</p>

<h2 id="how-will-you-use-this">How will you use this?</h2>

<p>As I’m getting ready for the start of the semester, I’m thinking about how I can use handouts and worksheets to improve the experience for my students.  I haven’t ever used guided notes, but I do like the idea of having partially typed notes that I can write on using my tablet, projected in the classroom (I would print-to-pdf, and teach my students they could do the same if they wanted to).</p>

<p>I might also create other course documents in PreTeXt now and put them in these divisions to make printing easier. I can use handouts for the syllabus, formula sheets, and study guides (even if these don’t need any workspace, I can control page layout easily).  Worksheets would be good for in-class activities, homework sets, quizzes, and even exams; anything that naturally has <em>exercises</em> that need workspace.</p>

<p>Of course, if you <em>do</em> happen to have a textbook written in PreTeXt, providing these directly in the book is an excellent use case.  The new edition of <a href="https://activecalculus.org/">Active Calculus</a> has implemented worksheets for its preview activities, such as <a href="https://activecalculus.org/single2e/sec-1-3-derivative-pt.html#ws-PA-1-3">this one</a>.</p>

<p>Is there a use case I’m forgetting?  Are there features you wish these division had?  Let me know in the comments below or reach out on pretext-support.</p>]]></content><author><name>Oscar Levin</name></author><category term="PreTeXt" /><category term="Tutorial" /><category term="Features" /><summary type="html"><![CDATA[We all know that PreTeXt is great for writing textbooks. But did you know that it can also be used to create small, standalone course materials? Perhaps you want to create an in-class activity to engage your students in group work. This might require a printout with some questions separated by space for them to write. Or maybe you like to use guided notes, providing your students partially completed outlines for the content of your lesson, with room for them to fill in details. PreTeXt has had a &lt;worksheet&gt; element for a few years, but the most recent release (version 2.28) now also includes a &lt;handout&gt; division that lets you add workspace to much more than just exercises. Plus, new styling for the web output make both worksheets and handouts print reliably directly from your browser. Below, we will explore these new features and I’ll share some tips for authoring course materials. From web to paper The distinguishing feature of handouts and worksheets is that they are meant to be printed and written on. Of course, in PreTeXt you can create a PDF just as easily as a webpage (both from the same source), but providing only the PDF for students raises accessibility concerns. Instead, why not provide students with the accessible web version and let them print a copy directly from their browser. Take a look at the handouts in the sample article (or if you prefer the collection of worksheets). Every handout and worksheet division will get a “print preview” button next to its title: The print preview will show page layout as it would be printed, including any workspace between content. You can toggle the paper size between US Letter and A4, and choose to highlight workspace, which is useful if you are trying to author a worksheet and want to fit things onto a page better. Printing from this page will should give you an exact replica of the print preview. If you print with A4 paper, you will want to ensure that you selected the A4 size on the preview, and also that the print dialog has A4 set as the paper size (and similar for Letter, of course). You could also “Print to PDF” from the print dialog if you want an electronic version you could annotate with a tablet. One more tip: inside any authored workspace, you can type text that will be included when you print. The screenshot below has “highlight workspace” turned on so you can see the area better, but this isn’t required to enter text in the workspace. Tips for authoring The handout and worksheet elements in PreTeXt are types of divisions, so they should be placed inside a PreTeXt document just like you would a section or subsection. They get a title in the usual way, and they can contain pretty much anything a section can (but no further subdivisions). Here is an example of how you might structure a handout. &lt;handout&gt; &lt;title&gt;Day 1 Guided Notes&lt;/title&gt; &lt;p workspace="2in"&gt; Warm up: Use the limit definition of the derivative to find &lt;m&gt;\frac{d}{dx} 4x^2&lt;/m&gt;. &lt;/p&gt; &lt;definition workspace="1in"&gt; &lt;statement&gt; &lt;p&gt; The derivative of a function &lt;m&gt;f(x)&lt;/m&gt; is defined as... &lt;/p&gt; &lt;/statement&gt; &lt;/definition&gt; &lt;/handout&gt; Specifying workspace You can specify workspace as an attribute on pretty much any top-level element, and some more nested elements as well (if you find you need workspace on something that isn’t working, get in touch on the pretext-support google group). Workspace can be specified in inches (workspace="1.25in") or centimeters (workspace="2cm"). You should think of the workspace you specify as a minimum amount of space. You will notice that if you toggle on the “highlight workspace” in the print preview, there will be thin green bar on the left; that shows the amount of workspace specified in source, but often the actual rendered workspace is taller than this. Workspace is added proportionally on each page. Multiple pages If a handout or worksheet contains more content than will fit on a page, the print preview will try to distribute the content as equitably as possible among the smallest number of pages it needs to accommodate the content an minimum workspace. This might lead to unexpected or undesired breaks between content you want on the same page. There are two ways to address this. Modify the amount of workspace on your elements to fill up the pages as desired. This is where the “highlight workspace” feature is very helpful. Try to get the green bars to match up with the rendered workspace for the page fitting you want. If you have an element that you want to bring back to an earlier page, you will want to both decrease workspace on elements before it and increase workspace on elements after it. Divide the handout or worksheet into &lt;page&gt; elements. This will shrink workspace that is too tall to fit onto the requested page. Note that this is not a viable option if you want to split a page in the middle of a PreTeXt element, such as having a project with the first tasks on one page and the last tasks on the next (but perhaps it would be better to redesign your worksheet for pedagogical reasons anyway). One warning: the algorithm for page breaks is different for the print versions you get from a web target compared to a pdf target. If you want to make worksheets look identical in both output formats, you will need to tweak the above so both give you the look you need. Margins By default, PreTeXt gives 0.75” margins on all sides of a page. You can modify this in the publication file (see the PreTeXt Guide) or on an individual handout or worksheet using attributes on the division. For example, &lt;handout margin="1in" left="2in" top="0.5in"&gt; will put 1 inch margins on all sides, but override that with 2 inch margins on the left and 0.5 inch margins on the right. The margin attribute is not required; it is just a shortcut for changing all margins from the default without needing to use all four of top, right, botton and left. By the way, the default behavior is to use these margins for both web and PDF versions, but if you don’t want margins to change for LaTeX, there is a publication file option for that too: Subsection 44.3.8: LaTeX Worksheet Options. How will you use this? As I’m getting ready for the start of the semester, I’m thinking about how I can use handouts and worksheets to improve the experience for my students. I haven’t ever used guided notes, but I do like the idea of having partially typed notes that I can write on using my tablet, projected in the classroom (I would print-to-pdf, and teach my students they could do the same if they wanted to). I might also create other course documents in PreTeXt now and put them in these divisions to make printing easier. I can use handouts for the syllabus, formula sheets, and study guides (even if these don’t need any workspace, I can control page layout easily). Worksheets would be good for in-class activities, homework sets, quizzes, and even exams; anything that naturally has exercises that need workspace. Of course, if you do happen to have a textbook written in PreTeXt, providing these directly in the book is an excellent use case. The new edition of Active Calculus has implemented worksheets for its preview activities, such as this one. Is there a use case I’m forgetting? Are there features you wish these division had? Let me know in the comments below or reach out on pretext-support.]]></summary></entry></feed>