Evomark cheat paper
Markdowns
More detailed guide for Markdown grammars in Evomark is here.
Heading
# Heading {id:"some-id"}
List
- Item 1
- Item 2
1. Item 1
1. Item 2
Math
$inline-math$
$$
Math without indexing
$$
=== Equation
Indexed math container
===
Inline decoration
`Code`
**Strong**
*Italic*
Container
More detailed guide for container, config and inline commands is here.
What a general container looks like
=== Container'sName {container's attributes}
Container's content
===
At least 3 characters are needed. The closer should be as long as its opener.
Common containers
Theorem, Figure, Equation
=== Theorem {id:"the-id", title:"the-title"}
Some content
===
=== Figure {id:"the-id",title:"the-title",src:"./the/path"}
The caption
===
=== Equation {id:"the-id",title:"the-title"}
E=mc^2
===
Code, Table
You can use
===>
and ===|
to open and close a container.==> Code {lang:"javascript"}
function helloWorld(){
console.log("hello world!")
}
==|
==== Table
[[item]]
Name = "Mike"
Subject = "Math"
Grade = "99"
[[item]]
Name = "Sarah"
Subject = "English"
Grade = "100"
~~~~
You can put the caption after the fence
====
==== Table {src:"some.file.toml"} ====
One line containers
=== Title ===
=== Image {src:"", type:"normal/wide/narrow"} ===
=== CitationList ===
=== PaperHead ===
=== ContentTable ===
Inline command
Inline commands must begin with brackets.
[#referenceId]
[@citationKey]
[$someCommand]()
[$someCommand]{}
[$someCommand](){}
()
accepts plain text and {}
accepts a JSON key-value pairs. You can go to Section 0.5.2[]()
.Config
---
title = "You config in TOML"
---
--- {lang:"yaml"}
You config in YAML
---
Config on a project
You can put the following codes in the
project_env.toml
file in your project root. It will automatically being imported.chatUrl = "Your link to the group channel"
gitRepoUrl = "Your link to the Git repo"
linearize = ["link-to-page1","link-to-page2","link-to-page3"]
bibPath = "path/to/your/bib-file"
toml
Config on every page
title = "Your title"
prevPage = "your-page-path"
nextPage.title = "Google"
nextPage.link = "https://www.google.com"
toml
Authorship
Define affiliations
[affils]
uoft = "Department of Computer Science, University of Toronto, Canada"
someUniversity = "The University's Name"
toml
Define authors
[[author]]
givenName = "Foo"
familyName = "Bar"
affil = ["uoft","someUniversity"]
note = "aFootNote"
[[author]]
givenName = "Foo Jr."
familyName = "Bar"
affil = ["someUniversity"]
note = "email"
toml
Define annotation
[authorNotes]
aFootNote = "These authors contributed not equal"
email = "zijian.academic@outlook.com"
toml
You can use
=== PaperHead ===
to show the authorship configured. You can put the authorship in a page or define it globally in project_env.toml
.Math macros
As the LaTeX math contents usually contains the symbol
\
, which needed to be escaped by \\
in YAML and JSON, we suggest only use TOML for it. In TOML, you can use '''contents ''' to write literal contents. ''' is three single quotes.You can write your math macros as
[mathMacros]
ket = '''|#1\rangle'''
bra = '''\langle #1|'''
trace = '''\operatorname{Tr}'''
expectv = '''\langle #1\rangle'''
toml
You may include them in a
math_macros.toml
file in the project root and then import them by --- {src:"math_macros.toml"} ---
.Slides
More detailed guide for slides is here.
Simplest slides
=======> SlidesBox
# Slide 1
--- Slide ---
# Slide 2
--- Slide
title = ""
section = ""
---
# Slide 3
=======|
Slides animation
=======> SlidesBox
=== Box {clk:""}
Show first
===
=== Box {clk:"then"}
Show first
===
[$clk](then) Show first
- [$clk] Show second
- [$clk] Show third
========|
Voices
=======> SlidesBox {voiceLang:"default-english/chinese/japanese"}
# A heading {clk:""}
=== Voice
I will be played after the heading shows
====
========|