Initialize coure project

This commit is contained in:
2026-08-01 17:17:57 +00:00
commit f2e8da3ac5
24 changed files with 1520 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
// This file was automatically generated with PreTeXt 2.45.0.
// If you modify this file, PreTeXt will no longer automatically update it.
//
//////////////////////////////////////////////////////////////
//
// This file provides configuration options so that a PreTeXt
// project can be edited and built using GitHub's Codespaces.
// It is recommended to keep this in your repository even if you
// do not use this feature, as it will allow other to explore
// your project easily.
// This file will be automatically generated by PreTeXt with the
// latest updates unless you remove the first comment line above.
//
///////////////////////////////////////////////////////////////
{
"image": "pretextbook/pretext-full:1.14", // uses latest image from https://hub.docker.com/r/PreTeXtBook/pretext-full/tags
// If you don't need sagemath, you can use a smaller base image. Comment out the line above and uncomment the line below to use a smaller image.
// "image": "pretextbook/pretext:1.14",
"features": {"ghcr.io/devcontainers/features/github-cli": {}},
// The pretext-full image above includes pretext, prefigure, and enough parts of latex and sagemath for most cases. Here we install additional dependencies.
"postCreateCommand": {
"install pandoc": "bash ./.devcontainer/installPandoc.sh",
"mark repo as safe": "git config --global --add safe.directory $(pwd)"
},
// Port forwarding
// ---------------
// This is needed by the CodeChat Server.
"forwardPorts": [
// The port used for a Thrift connection between the VSCode CodeChat
// extension and the CodeChat Server.
27376,
// The port used for an HTTP connection from the CodeChat Client to
// the CodeChat Server.
27377,
// The port used by a websocket connection between the CodeChat
// Server and the CodeChat Client.
27378
],
// See the [docs](https://containers.dev/implementors/json_reference/#port-attributes).
"portsAttributes": {
"27376": {
"label": "VSCode extension <-> CodeChat Server",
"requireLocalPort": true
},
"27377": {
"label": "CodeChat Client",
"requireLocalPort": true
},
"27378": {
"label": "CodeChat Client<->Server websocket",
"requireLocalPort": true
// This port needs to be public; however, there's no way to specify port visibility here. See `server.py` in the CodeChat Server for details.
}
},
// Configure tool-specific properties.
"customizations": {
"codespaces": {
"openFiles": ["README.md"]
},
"vscode": {
"settings": {
"editor.quickSuggestions": {
"other": "off"
},
"editor.suggest.showProperties": false,
"editor.snippetSuggestions": "bottom",
"files.autoSave": "afterDelay",
"xml.validation.enabled": true,
"redhat.telemetry.enabled": false,
"CodeChat.CodeChatServer.Command": "CodeChat_Server"
},
"extensions": [
"oscarlevin.pretext-tools",
"CodeChat.codechat",
"streetsidesoftware.code-spell-checker",
"alpinebuster.vscode-latex-table-editor",
"mathematic.vscode-pdf"
]
}
}
}
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# This file was automatically generated with PreTeXt 2.45.0.
# If you modify this file, PreTeXt will no longer automatically update it.
# Detect architecture and download appropriate Pandoc version
if uname -m | grep -q "aarch64\|arm64"; then
# ARM architecture
wget https://github.com/jgm/pandoc/releases/download/3.8.3/pandoc-3.8.3-1-arm64.deb -O pandoc.deb
else
# x86/amd64 architecture
wget https://github.com/jgm/pandoc/releases/download/3.8.3/pandoc-3.8.3-1-amd64.deb -O pandoc.deb
fi
# wait for 60 second and then double check that no other script is using apt-get:
sleep 60
while fuser /var/lib/dpkg/lock >/dev/null 2>&1; do
echo "Waiting for apt-get to be free..."
sleep 15
done
# Install pandoc
apt-get install -y --no-install-recommends ./pandoc.deb
rm pandoc.deb
+117
View File
@@ -0,0 +1,117 @@
# This file was automatically generated with PreTeXt 2.45.0.
# If you modify this file, PreTeXt will no longer automatically update it.
#
# This workflow file can be used to automatically build a project and create
# an artifact for deployment. It can also be used to deploy the project to
# GitHub Pages or Cloudflare Pages.
#
# The workflow is triggered on pull requests or can be run manually. You can uncomment
# the `push` event to have it run on pushes to the main branch as well.
name: PreTeXt-CLI Actions
on:
# Runs on pull requests
pull_request:
branches: ["*"]
## Runs on pushes to main
#push:
# branches: ["main"]
# Runs on demand
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container: oscarlevin/pretext-full
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: install deps
run: pip install -r requirements.txt
- name: set up node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: install local ptx files
run: pretext --version
- name: build deploy targets
run: |
version="$(pretext --version)"
major="$(echo $version | cut -d '.' -f 1)"
minor="$(echo $version | cut -d '.' -f 2)"
if [ "$major" -ge 2 -a "$minor" -ge 5 ]; then
echo "PreTeXt version is 2.5 or greater; using new build command"
pretext build --deploys
else
echo "PreTeXt version is less than 2.5, using old build command"
pretext build
fi
- name: stage deployment
run: pretext deploy --stage-only
- name: Bundle output/stage as artifact
uses: actions/upload-artifact@v4
with:
name: deploy
path: output/stage
deploy-cloudflare:
runs-on: ubuntu-latest
needs: build
if: vars.CLOUDFLARE_PROJECT_NAME != ''
permissions:
contents: read
deployments: write
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: deploy
path: deploy
- name: Create 404.html
run: echo "404 page not found" >> deploy/404.html
- name: Publish to Cloudflare
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: ${{ vars.CLOUDFLARE_PROJECT_NAME }}
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.head_ref || github.ref_name }}
directory: deploy
deploy-ghpages:
runs-on: ubuntu-latest
needs: build
if: vars.PTX_ENABLE_DEPLOY_GHPAGES == 'yes' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "page"
cancel-in-progress: false
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Download website artifact
uses: actions/download-artifact@v4
with:
name: deploy
path: deploy
- name: Setup GitHub Pages
id: check
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: deploy
- name: Deploy to Github Pages
id: deployment
uses: actions/deploy-pages@v4
+68
View File
@@ -0,0 +1,68 @@
# This file was automatically generated with PreTeXt 2.45.0.
# If you modify this file, PreTeXt will no longer automatically update it.
#
name: Build and Deploy
on:
# Currently, this workflow only runs when manually selected (the `workflow_dispatch` event).
# If you would like it to run on other events, uncomment some of the lines below.
# # Runs on pull requests
# pull_request:
# branches: ["*"]
# # Runs on pushes to main
# push:
# branches: ["main"]
# # Runs every day at 00:00 UTC
# schedule:
# - cron: '0 0 * * *'
# Runs on demand
workflow_dispatch:
permissions:
contents: write
jobs:
build-and-deploy:
runs-on: ubuntu-latest
container: oscarlevin/pretext-full
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: set up node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: add gh-cli
run: |
apt-get update
apt-get install gh jq -y
- name: setup git config
run: |
git config --global --add safe.directory $(pwd)
git config user.name "${{ github.actor }} via GitHub Actions"
git config user.email "${{ github.actor }}@github_actions.no_reply"
- name: install deps
run: pip install -r requirements.txt --break-system-packages
- name: install local ptx files
run: pretext --version
- name: build deploy targets
run: pretext build --deploys
- name: run deploy
run: pretext deploy --no-push
- name: push gh-pages branch
run: git push origin gh-pages --force
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+107
View File
@@ -0,0 +1,107 @@
# This file was automatically generated with PreTeXt 2.45.0.
# If you modify this file, PreTeXt will no longer automatically update it.
#
# Boilerplate list of files in a PreTeXt project for git to ignore
# ensure this file is tracked
!.gitignore
# don't track unpublished builds or stage (note: Runestone uses `published`)
output
published
# don't track assets generated from source
generated-assets
.cache
# don't track the executables.ptx file
executables.ptx
# don't track node packages
node_modules
# don't track error logs
.error_schema.log
logs
# don't track OS related files (windows/macos/linux)
.DS_Store
.DS_Store?
._*
.AppleDouble
.LSOverride
.Spotlight-V100
.Trashes
Icon
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
*.lnk
*.cab
*.msi
*.msix
*.msm
*.msp
[Dd]esktop.ini
.directory
.fuse_hidden*
.Trash-*
.nfs*
# Don't include VSCode generated files
.vscode
*.code-workspace
# Don't inlucde SublimeText files
# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
*.sublime-project
# SFTP configuration file
sftp-config.json
sftp-config-alt*.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
# Don't track common virtual environment directories
venv/
# Don't include Dropbox settings and caches
.dropbox
.dropbox.attr
.dropbox.cache
# Don't track codechat config (will be generated automatically)
codechat_config.yaml
# Don't track deprecated workflows
.github/workflows/deploy.yml
.github/workflows/test-build.yml
+109
View File
@@ -0,0 +1,109 @@
# My PreTeXt Course
This README was generated by running `pretext new course`. You should feel free to edit this to describe your project.
## Instructions
The course template includes a single PreTeXt "book" that contains (as chapters) different course documents you might want to share with students. What is included is determined by the `main.ptx` file in the `source` folder. The starts of files for a syllabus, weekly notes, activities (worksheets), handouts, and homework are also included.
You can build the course using
```bash
pretext build course
```
and view it with
```bash
pretext view course
```
Also included is the start of a slide deck. This is a single file in the `source/slides` folder. You could use this for all the slides in a course (as a single slideshow), or create separate slideshows. In that case, you might want to build those separate ones with something like,
```bash
pretext build slides -i source/slides/chapter2.ptx
```
In either case, you will need to uncomment the "slide" targets inside `project.ptx`.
### Creating a landing page for multiple targets
Build the entire course with:
```bash
pretext build --deploys
```
This will build the course "book" (and the slide deck if you uncomment that target in `project.ptx`). You can create a landing page with links to each of these automatically with the command,
```bash
pretext deploy --stage-only
```
and then view the results with,
```bash
pretext view -d
```
If you then run
```bash
pretext deploy
```
everything will be pushed to github pages.
---
Below you will find some advice for working with PreTeXt, including help with using the [PreTeXt Codespace](https://github.com/PreTeXtBook/pretext-codespace) online editor through GitHub if you don't want to install the required software on your own computer.
## Learning PreTeXt
See the [PreTeXt documentation](https://pretextbook.org/documentation.html) for links to a variety of resources.
We also recommend browsing through the [annotated sample article](https://pretextbook.org/examples/sample-article/annotated) and [annotated sample book](https://pretextbook.org/examples/sample-book/annotated/) if you want to find examples and see the PreTeXt source for those examples quickly.
## Using GitHub Codespaces
GitHub Codespaces are a way to set up your whole authoring system entirely in your browser. In case you are not already reading this inside a codespace, you can create one specifically designed for authoring in PreTeXt by using [this template](https://github.com/PreTeXtBook/pretext-codespace).
### Important: how to save your files
The most important thing to remember when authoring in a codespace is that you are making all your edits on a *virtual machine* off in some remote server farm. This means there is an extra step to save your files. You can save files in the editor (in your browser), but this just saves them to that virtual machine. To make sure you can access these files, even if the virtual machine goes away, you need to sync them to github.com. This is done by *committing* your changes and then *pushing* those commits (or "syncing" them). You might see a warning when you restart your codespace that you have "uncommitted changes" -- make sure you commit them when you are done working.
### Troubleshooting: Latex-images and pdfs
We have tried to keep the codespace small (so it starts up quickly and doesn't eat through your monthly storage allotment), so we do not include a full TeXLive distribution. We have tried to include most packages and fonts you are likely to need to generate images using `<latex-image>` elements, and to generate PDF print output. However, if you run into a situation where the LaTeX gives errors about packages missing (like it cannot find a `mypackage.sty` file), here is what you should do.
1. To quickly resolve the issue yourself, open a terminal (``Ctrl+Shift+` ``) and use the TeXLive Package Manager to install the missing package.
a. If you know that the package is called `mypackage` then enter the following two lines:
```bash
tlmgr install mypackage
tlmgr path add
```
b. If you don't know the name of the package, but know it should contain `mypackage.sty`, then you can search using
```bash
tlmgr search --global --all "mypackage.sty"
```
2. Then please post the name of the missing package to this [GitHub issue](https://github.com/PreTeXtBook/pretext-codespace/issues/21) and we will add it to the devcontainer. This has the advantage that you will still get updates that other authors submit. The next time you update PreTeXt, you should get the better version of the devcontainer and everyone else will benefit as well.
### Troubleshooting: sageplot images
By far the largest space-hog in a PreTeXt authoring environment is SageMath, which is only required if you generate images using sageplots. By default, SageMath is not installed in a PreTeXt codespace, but it should be easy to install if you need it.
Open the file `.devcontainer/devcontainer.json` and edit the line that contains
```
"image": "pretextbook/pretext:latest",
```
(or perhaps instead of `latest`, you have a version number). Change this to
```
"image": "pretextbook/pretext-full:latest",
```
VS Code should prompt you to rebuild your codespace, which you should do (you do not need to do a "full rebuild" though). This docker image contains sagemath and you should be able to add sageplots and generate them successfully now.
+96
View File
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This file, the project manifest, provides the overall configuration for your PreTeXt project. To edit the content of your document, open `source/main.ptx`. See https://pretextbook.org/doc/guide/html/processing-CLI.html#cli-project-manifest. -->
<project ptx-version="2">
<targets>
<!-- Main course for html or pdf -->
<target name="course" source="main.ptx" format="html"
publication="publication.ptx" deploy-dir="course" />
<target name="print" source="main.ptx" format="pdf"
output-filename="course.pdf" publication="publication.ptx" />
<!--
<target name="slides" source="slides/slides.ptx" format="revealjs"
publication="publication-slides.ptx" deploy-dir="slides"
output-filename="index.html"/>
-->
<!--
<target name="slides-annotated" source="slides/slides.ptx" format="revealjs"
publication="publication-slides-annotated.ptx" deploy-dir="slides-annotated"
output-filename="index.html"/>
-->
<!-- The following targets are used to create stand-alone documents, which could be additional slide decks, pdfs, or SCORM archives. Run with `pretext build slides -i source/slides/[filename.ptx]`, for example. -->
<target name="pdf" standalone="yes" format="pdf"
output-dir="pdfs" publication="publication_standalone.ptx"/>
<target name="slides" standalone="yes" format="revealjs"
output-dir="slides" publication="publication-slides.ptx"/>
<target name="slides-annotated" standalone="yes" format="revealjs"
output-dir="slides" publication="publication-slides-annotated.ptx"/>
<target name="scorm" standalone="yes" format="html" compression="scorm"
output-dir="scorms" publication="publication_standalone.ptx"/>
</targets>
</project>
<!-- SAMPLE MANIFEST illustrating all options. Defaults are given (mostly). -->
<!-- <project
ptx-version="2"
source="source"
publication="publication"
output-dir="output"
site="site"
stage="output/stage"
xsl="xsl"
asy-method="local"
>
<targets>
<target
name="web"
format="html"
source="main.ptx"
publication="publication.ptx"
output-dir="web"
deploy-dir="interactive"
xsl="custom-html.xsl"
asy-method="local"
/>
<target
name="web-zipped"
format="html"
source="main.ptx"
publication="publication.ptx"
output-dir="web"
compression="zip"
asy-method="local"
/>
<target
name="runestone"
format="html"
platform="runestone"
/>
<target
name="print"
format="pdf"
source="main.ptx"
publication="publication.ptx"
output-dir="print"
output-filename="mybook.pdf"
latex-engine="pdflatex"
deploy-dir="pdf"
/>
<target
name="latex"
format="latex"
/>
<target
name="braille"
format="braille"
braille-mode="emboss"
/>
</targets>
</project>
-->
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- This is for annotated versions of slides. -->
<!-- Adapted from work of Mitch Keller -->
<publication>
<source>
<directories external="../assets" generated="../generated-assets"/>
<!-- add component="a" to parts of the slides that should show up in the "annotated" version. The next line makes sure this is included. -->
<version include="a" />
</source>
<revealjs>
<appearance theme="white"/>
<!-- these are "resources" defaults, but best for a sample -->
<!-- @minified is not even necessary with @host = 'cdn' -->
<resources host="cdn"/>
<!-- display="yes" is the default so we can see arrows -->
<!-- tutorial="yes" is the default -->
<!-- layout="bottom-right" is the default, "edges" is an option -->
<!-- backarrows="faded" is the default, -->
<!-- "hidden and "visible" are options -->
<controls display="yes" tutorial="yes" layout="bottom-right" backarrows="faded"/>
<!-- mode="default" is horizontal/vertical two-level navigation -->
<!-- mode="grid" allows direct movement between adjacent vertical segments -->
<!-- mode="linear" is more traditional left/right movement for all slides -->
<navigation mode="default"/>
</revealjs>
</publication>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<publication>
<source>
<directories external="../assets" generated="../generated-assets"/>
<!-- add component="b" to parts of the slides that should show up in the "blank" (unannotated) version. The next line makes sure this is included -->
<version include="b" />
</source>
<common>
<fillin mathstyle="underline" />
</common>
<revealjs>
<appearance theme="white"/>
<!-- these are "resources" defaults, but best for a sample -->
<!-- @minified is not even necessary with @host = 'cdn' -->
<resources host="cdn"/>
<!-- display="yes" is the default so we can see arrows -->
<!-- tutorial="yes" is the default -->
<!-- layout="bottom-right" is the default, "edges" is an option -->
<!-- backarrows="faded" is the default, -->
<!-- "hidden and "visible" are options -->
<controls display="yes" tutorial="yes" layout="bottom-right" backarrows="faded"/>
<!-- mode="default" is horizontal/vertical two-level navigation -->
<!-- mode="grid" allows direct movement between adjacent vertical segments -->
<!-- mode="linear" is more traditional left/right movement for all slides -->
<navigation mode="default"/>
</revealjs>
</publication>
+219
View File
@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is the publication file for a newly generated PreTeXt book. -->
<!-- By changing the values of attributes here, you can change how -->
<!-- the output looks and functions. For the complete documentation -->
<!-- of publication-file options, see -->
<!-- https://pretextbook.org/doc/guide/html/publisher-file-reference.html -->
<!-- Commented settings below illustrate some possible changes you can -->
<!-- make from the default values. -->
<publication>
<common>
<!-- Level at which are html files generated (chapter/section/etc): -->
<chunking level="2" />
<!-- Depth for table of contents. 0 means no TOC -->
<!--<tableofcontents level="1" />-->
<!-- Visibility of exercise components where they first appear. -->
<!-- There are four components (statement/hint/answer/solution) for each -->
<!-- of five exercise types (inline/divisional/worksheet/reading/ -->
<!-- project). -->
<!--<exercise-inline statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-divisional statement="yes" hint="yes" answer="no" solution="yes" />-->
<!--<exercise-worksheet statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-reading statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-project statement="yes" hint="yes" answer="yes" solution="yes" />-->
<!-- Style of fill-in-the-blanks: -->
<!--<fillin textstyle="underline" mathstyle="shade" />-->
<!-- You can set a watermark: -->
<!-- <watermark scale="0.5">DRAFT</watermark> -->
<!-- Mermaid diagram themes -->
<!-- <mermaid theme="default" /> -->
<!-- QR code image: set path to an image to put in center of QR codes -->
<!-- <qrcode image="image.png" /> -->
</common>
<!-- Set where external assets and generated assets will be -->
<!-- stored or created. Directories are relative to the main -->
<!-- source PreTeXt file -->
<source>
<!-- Paths to folders containing external assets and generated assets -->
<!-- relative to your main source file. -->
<directories external="../assets" generated="../generated-assets" />
<!-- Set which marked elements are included in this version: -->
<!-- See
https://pretextbook.org/doc/guide/html/publication-file-source.html#publication-file-source-version -->
<!-- In this example, we include the w1s components from the sample activity to show solutions. -->
<version include="w1s"/>
</source>
<numbering>
<!-- the divisions element describes the numbering of divisions. -->
<!-- @part-structure should be "decorative" or "structural", -->
<!-- were the latter would restart numbering chapters within each -->
<!-- part (this only matters if your book has parts). -->
<!-- The attribute @chapter-start give the number of the first -->
<!-- chapter. @level says how deep (chapter->section->subsection)-->
<!-- numbering should appear. -->
<!-- For use with a book organized by part, you can set the -->
<!-- @part-structure to "decorative" or "structural" -->
<divisions level="0"/>
<!-- The next elements say how the levels deep to break up the -->
<!-- numbering of the respective elements. Can't be more than the -->
<!-- @level on divisions above. -->
<blocks level="0" />
<projects level="0" />
<equations level="0" />
<footnotes level="0" />
</numbering>
<!-- LaTeX specific options: set @print="yes" to get pdf set up -->
<!-- for printing; set @sides="two" if the printing would be two- -->
<!-- sided. @pageref="yes/no" controls whether page number are -->
<!-- included in cross-references -->
<latex>
<!-- Replace the <latex> tag above with the one below to try these-->
<!--<latex
print="no"
sides="one"
open-odd="no"
pageref="no"
font-size="10"
draft="no"
latex-style="dyslexic-font"
> -->
<!-- Control text justification and bottom page behavior: -->
<!--<page right-alignment="flush" bottom-alignment="ragged" crop-marks="letter"/>-->
<!-- Add content to \geometry{}: -->
<!--<geometry></geometry>-->
<!-- The asymptote/@links set to "yes" would produce -->
<!-- links the html version of asymptote graphics. -->
<!--<asymptote links="no" />-->
<!-- Covers: provide paths to pdfs for front and back covers: -->
<!--<cover front="cover-front.pdf" back="cover-back.pdf" />-->
<!-- Set @formatted to "no" to remove formatting on worksheets: -->
<!--<worksheets formatted="yes" />-->
</latex>
<!-- The embed-button makes it easy to copy the code for an iframe into your LMS -->
<html embed-button="yes">
<!-- A possible attribute for the html tag above is @short-answer-responses, with values either "always" or "graded". As in: -->
<!--<html short-answer-responses="always">-->
<!--The platform host can be "web" or "runestone"-->
<!--<platform host="runestone"/>-->
<!-- Whether to knowl a particular elements is set here -->
<!-- Lots of elements have this possibility; see the guide -->
<!--<knowl
theorem="no"
proof="yes"
definition="no"
example="yes"
example-solution="yes"
project="no"
task="no"
remark="no"
objectives="no"
outcomes="no"
figure="no"
table="no"
listing="no"
list="no"
exercise-inline="yes"
exercise-divisional="no"
exercise-worksheet="no"
exercise-readingquestion="no"
/>-->
<!-- Specify the theme for the html by giving names to -->
<!-- override defaults. Ex:<css theme="denver"/> -->
<!-- See also -->
<!-- https://pretextbook.org/doc/guide/html/publication-file-online.html#online-style-options -->
<css
theme="denver"
primary-color="#386F94"
primary-color-dark="#5192BD"
provide-dark-mode="yes"
/>
<!-- Search can be default or none, or you can use a Google-cx number to use google's search
feature (but then variant should be set to none to avoid conflict) -->
<!--<search variant="default" />-->
<!-- Table of Contents: focused="yes" enables expand/collapse functionality. -->
<!-- @preexpanded-levels controls how deep to expend toc initially. -->
<!--<toc focused="yes" preexpanded-levels="1" />-->
<!-- Navigation options: linear or tree, and whether there is an "up" button -->
<!--<navigation logic="tree" upbutton="no" />-->
<!-- xref options: control whether cross-references are knowls or links -->
<!--<cross-references knowled="cross-page" />-->
<!-- Embedded calculators. For math, this could be geogebra-classic, geogebra-graphing,
geogebra-geometry, and geogebra-3d. For ActiveCode, you can specify a language (python,
javascript, etc). -->
<!--<calculator model="geogebra-classic" activecode="python" />-->
<!-- Set the base URL of where the online version is hosted to have links in other formats -->
<!-- <baseurl href="https://changetomywebsite.org"/> -->
<!-- Control behavior of online WeBWorK, per type: -->
<!--<webwork
inline="dynamic"
divisional="dynamic"
reading="static"
worksheet="static"
project="dynamic"
/>-->
<!-- Use the tabbed viewer for tasks in exercises. "project" and "reading" can be added to the list of types in the @tabbed-tasks attribute (but not worksheet). -->
<!--<exercises tabbed-tasks="inline divisional"/>-->
<!-- Video privacy: the default value of "yes" disables certain tracking cookies for embedded videos. -->
<!--<video privacy="yes"/>-->
<!-- Asymptote Click to Enlarge links -->
<!--<asymptote links="yes"/>-->
<!-- Feedback button can be added with a link to an email or form -->
<!--<feedback href="mailto:youraddress@yourUni.edu"/>-->
<!-- Magic IDs identify HTML pages to analytics services -->
<!-- Presence implies relevant Javascript will be added -->
<!-- StatCounter requires both values to be set -->
<!-- <analytics
google-gst="UA-0123456-1"
statcounter-project="0123456"
statcounter-security="0123456"
/> -->
</html>
<epub>
<!-- The cover tag can have a @front attribute to specify a cover image. -->
<!-- <cover front="cover.jpg"> -->
</epub>
<!-- To use WeBWorK, you need a server. -->
<!-- <webwork server="https://webwork-ptx.aimath.org" /> -->
<!-- @course, @coursepassword, @user, and @userpassword can also be set. -->
<!-- You can also set how tasks are revealed for webwork problems using the @task-reveal attribute on the above-->
</publication>
+216
View File
@@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is the publication file for a newly generated PreTeXt book. -->
<!-- By changing the values of attributes here, you can change how -->
<!-- the output looks and functions. For the complete documentation -->
<!-- of publication-file options, see -->
<!-- https://pretextbook.org/doc/guide/html/publisher-file-reference.html -->
<!-- Commented settings below illustrate some possible changes you can -->
<!-- make from the default values. -->
<publication>
<common>
<!-- Level at which are html files generated (chapter/section/etc): -->
<chunking level="0" />
<!-- Depth for table of contents. 0 means no TOC -->
<tableofcontents level="0" />
<!-- Visibility of exercise components where they first appear. -->
<!-- There are four components (statement/hint/answer/solution) for each -->
<!-- of five exercise types (inline/divisional/worksheet/reading/ -->
<!-- project). -->
<!--<exercise-inline statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-divisional statement="yes" hint="yes" answer="no" solution="yes" />-->
<!--<exercise-worksheet statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-reading statement="yes" hint="yes" answer="no" solution="no" />-->
<!--<exercise-project statement="yes" hint="yes" answer="yes" solution="yes" />-->
<!-- Style of fill-in-the-blanks: -->
<!--<fillin textstyle="underline" mathstyle="shade" />-->
<!-- You can set a watermark: -->
<!-- <watermark scale="0.5">DRAFT</watermark> -->
<!-- Mermaid diagram themes -->
<!-- <mermaid theme="default" /> -->
<!-- QR code image: set path to an image to put in center of QR codes -->
<!-- <qrcode image="image.png" /> -->
</common>
<!-- Set where external assets and generated assets will be -->
<!-- stored or created. Directories are relative to the main -->
<!-- source PreTeXt file -->
<source>
<!-- Paths to folders containing external assets and generated assets -->
<!-- relative to your main source file. -->
<directories external="../assets" generated="../generated-assets" />
<!-- Set which marked elements are included in this version: -->
<!-- See
https://pretextbook.org/doc/guide/html/publication-file-source.html#publication-file-source-version -->
<version include="online"/>
</source>
<numbering>
<!-- the divisions element describes the numbering of divisions. -->
<!-- @part-structure should be "decorative" or "structural", -->
<!-- were the latter would restart numbering chapters within each -->
<!-- part (this only matters if your book has parts). -->
<!-- The attribute @chapter-start give the number of the first -->
<!-- chapter. @level says how deep (chapter->section->subsection)-->
<!-- numbering should appear. -->
<!-- For use with a book organized by part, you can set the -->
<!-- @part-structure to "decorative" or "structural" -->
<divisions level="0"/>
<!-- The next elements say how the levels deep to break up the -->
<!-- numbering of the respective elements. Can't be more than the -->
<!-- @level on divisions above. -->
<blocks level="0" />
<projects level="0" />
<equations level="0" />
<footnotes level="0" />
</numbering>
<!-- LaTeX specific options: set @print="yes" to get pdf set up -->
<!-- for printing; set @sides="two" if the printing would be two- -->
<!-- sided. @pageref="yes/no" controls whether page number are -->
<!-- included in cross-references -->
<latex>
<!-- Replace the <latex> tag above with the one below to try these-->
<!--<latex
print="no"
sides="one"
open-odd="no"
pageref="no"
font-size="10"
draft="no"
latex-style="dyslexic-font"
> -->
<!-- Control text justification and bottom page behavior: -->
<!--<page right-alignment="flush" bottom-alignment="ragged" crop-marks="letter"/>-->
<!-- Add content to \geometry{}: -->
<!--<geometry></geometry>-->
<!-- The asymptote/@links set to "yes" would produce -->
<!-- links the html version of asymptote graphics. -->
<!--<asymptote links="no" />-->
<!-- Covers: provide paths to pdfs for front and back covers: -->
<!--<cover front="cover-front.pdf" back="cover-back.pdf" />-->
<!-- Set @formatted to "no" to remove formatting on worksheets: -->
<!--<worksheet formatted="yes" />-->
</latex>
<html>
<!-- A possible attribute for the html tag above is @short-answer-responses, with values either "always" or "graded". As in: -->
<!--<html short-answer-responses="always">-->
<!--The platform host can be "web" or "runestone"-->
<!--<platform host="runestone"/>-->
<!-- Whether to knowl a particular elements is set here -->
<!-- Lots of elements have this possibility; see the guide -->
<!--<knowl
theorem="no"
proof="yes"
definition="no"
example="yes"
example-solution="yes"
project="no"
task="no"
remark="no"
objectives="no"
outcomes="no"
figure="no"
table="no"
listing="no"
list="no"
exercise-inline="yes"
exercise-divisional="no"
exercise-worksheet="no"
exercise-readingquestion="no"
/>-->
<!-- Specify the style of the html by giving names to -->
<!-- override defaults. Ex: to use "style_oscarlevin.css" -->
<!-- put <css style="oscarlevin"/> -->
<!-- See also -->
<!-- https://pretextbook.org/doc/guide/html/publication-file-online.html#online-style-options -->
<css
theme="denver"
primary-color="#386F94"
primary-color-dark="#5192BD"
/>
<!-- Search can be default or none, or you can use a Google-cx number to use google's search
feature (but then variant should be set to none to avoid conflict) -->
<!--<search variant="default" />-->
<!-- Table of Contents: focused="yes" enables expand/collapse functionality. -->
<!-- @preexpanded-levels controls how deep to expend toc initially. -->
<toc focused="yes" preexpanded-levels="0" />
<!-- Navigation options: linear or tree, and whether there is an "up" button -->
<!--<navigation logic="tree" upbutton="no" />-->
<!-- xref options: control whether cross-references are knowls or links -->
<!--<cross-references knowled="cross-page" />-->
<!-- Embedded calculators. For math, this could be geogebra-classic, geogebra-graphing,
geogebra-geometry, and geogebra-3d. For ActiveCode, you can specify a language (python,
javascript, etc). -->
<!--<calculator model="geogebra-classic" activecode="python" />-->
<!-- Set the base URL of where the online version is hosted to have links in other formats -->
<!-- <baseurl href="https://changetomywebsite.org"/> -->
<!-- Control behavior of online WeBWorK, per type: -->
<!--<webwork
inline="dynamic"
divisional="dynamic"
reading="static"
worksheet="static"
project="dynamic"
/>-->
<!-- Use the tabbed viewer for tasks in exercises. "project" and "reading" can be added to the list of types in the @tabbed-tasks attribute (but not worksheet). -->
<!--<exercises tabbed-tasks="inline divisional"/>-->
<!-- Video privacy: the default value of "yes" disables certain tracking cookies for embedded videos. -->
<!--<video privacy="yes"/>-->
<!-- Asymptote Click to Enlarge links -->
<!--<asymptote links="yes"/>-->
<!-- Feedback button can be added with a link to an email or form -->
<!--<feedback href="mailto:youraddress@yourUni.edu"/>-->
<!-- Magic IDs identify HTML pages to analytics services -->
<!-- Presence implies relevant Javascript will be added -->
<!-- StatCounter requires both values to be set -->
<!-- <analytics
google-gst="UA-0123456-1"
statcounter-project="0123456"
statcounter-security="0123456"
/> -->
</html>
<epub>
<!-- The cover tag can have a @front attribute to specify a cover image. -->
<!-- <cover front="cover.jpg"> -->
</epub>
<!-- To use WeBWorK, you need a server. -->
<!-- <webwork server="https://webwork-ptx.aimath.org" /> -->
<!-- @course, @coursepassword, @user, and @userpassword can also be set. -->
<!-- You can also set how tasks are revealed for webwork problems using the @task-reveal attribute on the above-->
</publication>
+2
View File
@@ -0,0 +1,2 @@
# This file was automatically generated with PreTeXt 2.45.0.
pretext == 2.45.0
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- When creating a new activity, make a copy of this file with appropriate name -->
<worksheet xml:id="activity-01-intro-activity">
<title>Introduction Activity</title>
<!-- Optional introduction -->
<introduction>
<p>
This is the introduction to the activity.
</p>
</introduction>
<!-- Exercises start here. -->
<exercise workspace="2in">
<statement>
<p>
This is the first exercise.
</p>
</statement>
</exercise>
</worksheet>
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- When creating a new activity, make a copy of this file with appropriate name -->
<worksheet>
<title>Activity Title</title>
<!-- Optional introduction -->
<introduction>
<p>
This is the introduction to the activity.
</p>
</introduction>
<!-- Exercises start here. -->
<exercise workspace="2in">
<statement>
<p>
This is the first exercise.
</p>
</statement>
</exercise>
</worksheet>
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- The docinfo block is the analogue to the latex preamble -->
<!-- This is where you can define macros and other book-wide -->
<!-- settings. -->
<docinfo xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- macros for defining latex math shortcuts. It is good practice -->
<!-- to define these semantically, so that the macro relates to what-->
<!-- it defines. -->
<macros>
\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
</macros>
<!-- If you put any latex-image elements you can include preambles -->
<!-- for those in the next element. -->
<latex-image-preamble>
\usepackage{tikz, pgfplots}
\usetikzlibrary{positioning,matrix,arrows}
\usetikzlibrary{shapes,decorations,shadows,fadings,patterns}
\usetikzlibrary{decorations.markings}
</latex-image-preamble>
<!-- It is possible to rename elements: -->
<!-- <rename element="assemblage" xml:lang="en-US">Summary</rename> -->
<!-- Specify the default type of cross reference: -->
<!-- <cross-references text="type-global" /> -->
</docinfo>
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This frontmatter division will contain all content before the -->
<!-- first chapter. Fill in and comment/uncomment to see how this -->
<!-- works. -->
<frontmatter xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="frontmatter">
<bibinfo>
<author>
<personname>Instructor Lastname</personname>
<department>Mathematical Sciences</department>
<institution>University of Templates</institution>
</author>
<date>
Last Updated: <today />
</date>
</bibinfo>
<!-- This displays the title page information -->
<titlepage>
<titlepage-items/>
</titlepage>
</frontmatter>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<handout>
<title>Handout Title</title>
<page>
<p workspace="1in">
A first paragraph with some space for notes below it.
</p>
</page>
</handout>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<worksheet>
<title>Homework 01</title>
<introduction>
<p>
<alert>Instructions:</alert> Complete all the exercises below and submit your work by the due date.
</p>
</introduction>
<page>
<exercise>
<statement>
<p>
This is the first homework exercise.
</p>
</statement>
</exercise>
</page>
</worksheet>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<worksheet>
<title>Homework xx</title>
<introduction>
<p>
<alert>Instructions:</alert> etc.
</p>
</introduction>
<page>
<exercise workspace="1in">
<statement>
<p>
This is the first homework exercise.
</p>
</statement>
</exercise>
</page>
</worksheet>
+73
View File
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is the main course file for ... . It is used to generate all the public facing course materials so those can be hosted online. -->
<pretext xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- Include common macros etc: -->
<xi:include href="./docinfo.ptx" />
<!-- By creating a PreTeXt "book" for the course, we can split components into "chapters" -->
<book>
<title>Course Name (change me)</title>
<subtitle>MATH xxx Semester 20xx</subtitle>
<!-- Optional: include frontmatter with author info and date -->
<xi:include href="./frontmatter.ptx" />
<chapter xml:id="course-documents">
<title>Course Documents</title>
<!-- Course syllabus -->
<xi:include href="./syllabus/syllabus.ptx" />
<!-- Other documents could go here, like a schedule, project description, etc. -->
</chapter>
<chapter xml:id="course-notes">
<title>Course Notes</title>
<introduction>
<p>
The following notes are intended to remind you what we covered each week.
They are not a substitute for attending class and not a substitute for reading the textbook.
</p>
</introduction>
<xi:include href="./notes/week01.ptx"/>
<xi:include href="./notes/week02.ptx"/>
<!-- etc. -->
</chapter>
<chapter xml:id="activities">
<title>In-Class Activities</title>
<introduction>
<p>
These are copies of the in-class activities distributed during the semester.
</p>
</introduction>
<!-- Remove the example and replace with your own activities -->
<xi:include href="./activities/01-intro-activity.ptx"/>
<!-- Add more xi:include files here to include them in the main course -->
</chapter>
<chapter xml:id="handouts">
<title>Handouts</title>
<!-- Include handouts -->
<!--<xi:include href="./handouts/handout-filename.ptx"/>-->
</chapter>
<chapter xml:id="homework">
<title>Homework</title>
<!-- Include homework files -->
<!--<xi:include href="./homework/homework01.ptx"/>-->
</chapter>
<!-- Include additional chapters for other categories -->
</book>
</pretext>
+35
View File
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="notes-week-01">
<title>Week 1</title>
<introduction>
<p>
This is an outline of the topics we covered in the first week of class.
</p>
</introduction>
<!-- Can also be <handout> instead of <subsection> to get a printable version -->
<subsection>
<title>Monday 8/22</title>
<p>
</p>
</subsection>
<subsection>
<title>Wednesday 8/24</title>
<p>
</p>
</subsection>
<subsection>
<title>Friday 8/26</title>
<p>
</p>
</subsection>
</section>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="notes-week-02">
<title>Week 2</title>
<subsection>
<title>Monday</title>
<p>
</p>
</subsection>
<subsection>
<title>Wednesday</title>
<p>
</p>
</subsection>
<subsection>
<title>Friday</title>
<p>
</p>
</subsection>
</section>
+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is a sample slide deck to get started with. If you want the slides to be built, -->
<!-- you must go to `project.ptx` and uncomment the slides targets (starting on line 12) -->
<pretext xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- Include the docinfo common to the course, in the parent folder (..) -->
<xi:include href="../docinfo.ptx"/>
<slideshow xml:id="slides">
<title>Slides for MATH xxx</title>
<frontmatter>
<titlepage-items/>
</frontmatter>
<!-- This assumes you want to structure your entire slide deck by sections -->
<!-- RevealJS will use 2-d navigation: move left-right to switch between sections, up-down to switch between slides in a section -->
<section xml:id="sec-1-1">
<title>Section 1.1</title>
<slide>
<title>[topic]</title>
</slide>
</section>
<section xml:id="sec-1-2">
<title>Section 1.2</title>
<slide>
<title>[topic]</title>
<p>
</p>
</slide>
</section>
</slideshow>
</pretext>
+86
View File
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<section xml:id="syllabus" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Syllabus</title>
<introduction>
<p>
</p>
</introduction>
<!-- Include chapters -->
<subsection xml:id="sec-course-info">
<title>Course Information</title>
<p>
This is the syllabus for <term>course name (MATH xxx, section xxx)</term> for [term] 20xx.
It is a [n] credit course.
<!-- use a description list (dl) for short items -->
<dl>
<li>
<title>Instructor</title>
<p>
Prof. Lastname, Office Location, <url href="mailto:prof.lastname@example.edu">prof.lastname@example.edu</url>.
</p>
</li>
<li>
<title>Student Hours</title>
<p>
TBD
</p>
</li>
<li>
<title>Class meets</title>
<p>
course times and location.
</p>
</li>
<li>
<title>Course Description</title>
<p>
course description from catalog
</p>
</li>
<li>
<title>Prerequisite</title>
<p>
list of prerequisites
</p>
</li>
<li>
<title>Textbook and course materials</title>
<p>
<pubtitle>textbook name</pubtitle>
by textbook author.
</p>
</li>
</dl>
</p>
<!-- Use paragraphs to break apart subsections -->
<paragraphs>
<title>Course Overview</title>
<p>
</p>
</paragraphs>
</subsection>
<!-- Other subsections for larger dividers -->
<subsection xml:id="sec-assessments">
<title>Assessments and Grades</title>
<p>
</p>
</subsection>
</section>