Skip to content

Latest commit

 

History

History
156 lines (132 loc) · 3.75 KB

README.md

File metadata and controls

156 lines (132 loc) · 3.75 KB

discrete-math-markdown

A specialized version of Markdown to PDF program.

This program takes your homework (in a special Markdown file, described below) and turns it into a decent-looking PDF.

What is Markdown? You can see a good example here. Basically, it makes it easy to write simple files that look pretty when you run them through a program. This program has a couple of extensions on it to make it easy to use for our Discrete Mathematics class at Utah State University.

Downloading and Using

Download CurrentVersion.zip and extract it. Find and open the "bin" folder. Put the files you want to run it through in there - they can be either Markdown (.md) or plain text (.txt) files. Run the batch file (if on Windows, don't know about other OSes).

If you want an example file to use, try executable/test.md. It should help you a bit in understanding the format.

What you can do

This program supports almost everything in https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet.

In addition, for Discrete Mathematics, the following things are included:

The following terms translate as follows

then -> ⇒
if -> reversed ⇒
iff -> ⇔
and -> ∧
or -> ∨
same -> ≡
not -> ~
xor -> 
therefore -> ∴
exists -> ∃
all -> ∀
in -> ∈
not in -> ∈ with vertical bar through it
that -> :
real numbers -> ℝ
all integers -> ℤ
natural numbers -> ℕ

when

  • The line contains a @@.
  • The term has a period right before it.
  • The term is between @start and @end markers.

In addition, any line that starts with @truthRow is converted into a row for a truth table. For example,

@truthRow TFFTFTF

turns into a row for a table like this:

|T|F|F|T|F|T|F|

Example

# My Homework

## 1.1 - Individual

    p .iff q .and c

## 1.2 - Line

    @@ not a or b if c
    @@ a same c

## 1.3 - Start / Stop

    @start not a or b if c
    a same c
    p iff q and c@end
    This is not processed, even if it has special terms and stuff

## 1.4 - Table

|p|q|p and q|p or q|not(p and q)|not(p or q)|notp and notq|notp or notq|@@
|-|-|-------|------|------------|-----------|-------------|------------|
@truthRow TTTTFFFF
@truthRow TFFTTFFT
@truthRow FTFTTFFT
@truthRow FFFFTTTT

becomes:


1.1 - Individual

p ⇔ q ∧ c

1.2 - Line

 ~ a ∨ b ⇒ c
 a ≡ c

1.3 - Start / Stop

 ~ a ∨ b ⇒ c
a ≡ c
p ⇔ q ∧ c
This is not processed, even if it has special terms and stuff

1.4 - Table

p q p ∧ q p ∨ q ~(p ∧ q) ~(p ∨ q) ~p ∧ ~q ~p ∨ ~q
T T T T F F F F
T F F T T F F T
F T F T T F F T
F F F F T T T T