The central repository for CSM 61B worksheets.
The repository is split up into two subsections. src
denotes the current set
of worksheet templates which draw their questions from the pool of topics
.
The style is provided by commonheader.sty
.
- Mentoring 2 (Solution)
- Mentoring 3 (Solution)
- Mentoring 4 (Solution)
- Mentoring 5 (Solution)
- Mentoring 6 (Solution)
- Mentoring 7 (Solution)
- Mentoring 8 (Solution)
- Mentoring 9 (Solution)
- Mentoring 10 (Solution)
- Mentoring 11 (Solution)
- Mentoring 12 (Solution)
- Mentoring 13 (Solution)
- Mentoring 14 (Solution)
To make an individual worksheet, run the following command in the repository's root directory.
make mentor00
To make multiple worksheets at once, modify the Makefile
by adding the names
of the worksheets you'd like to make, and the solutions as necessary.
RELEASED = mentor00 mentor01 mentor02
SOLUTIONS = mentor00 mentor01
Then, run make all
to build all the worksheets in the published
directory.
If necessary, clean the local files with make clean
.
To contribute, first get LaTeX. This
repository requires additional packages which may not be included in all basic
LaTeX distributions, especially the monospace font
Inconsolata. In Ubuntu's TeXLive
distribution, the font can be found in the texlive-latex-extra
package.
If you do not already have LaTeX installed and would prefer the most minimal
installation necessary, obtain LaTeX from
CTAN and adapt the .texlive.sh
script and .texlive.profile
configuration for your needs.
After cloning the repository and setting up LaTeX, pull in any updates from
Github origin
.
git checkout master
git pull
Then, create a new branch off master
and give it a descriptive name.
git checkout -b fa17/mentor04
Make changes as you would normally and commit them incrementally. Write descriptive commit messages and break larger changes into smaller parts.
Using patch mode is recommended when staging changes to ensure only that only the desired diffs are included in the commit.
git add -p
Start in the src
directory and edit the handouts in question. Note that the
repository has split up handouts from their questions: all questions are stored
in individual files under topics
for version control and maintainability.
After making a few changes, verify that the changes appear as expected by
re-making the handouts. The handouts build to the published
directory.
make clean && make mentor04 && make mentor04_sol
Once satisfied, push the branch to Github origin
.
git push -u origin fa17/mentor04
On the Github web interface, create a new pull request for the branch, assign the current maintainers for review, apply relevant labels, and set the milestone to the current release target.
Travis will automatically spin up a new build for the branch and perform a status check to verify that the handouts compile successfully. If there are errors, you may want to double check that all the handouts build locally.
make src
Once the changes have been accepted by a maintainer, they can be merged into
the master
branch. This will spin up another Travis build and automatically
publish the updated handouts to Github Pages within a few minutes.