# Introduction to Markdown

*Markdown* is an extremely simple markup language designed to easily convert to HTML while being much easier to write than HTML.  It is supported by a wide range of text editor applications.  My favorite of these is Microsoft's *VS Code* while despite being a RAM hog at least offers rich support for Markdown including a build-in preview pane to view the finished output as well as useful extensions to do such things as export Markdown documents to PDF.

This short Markdown document serves to illustrate by example some of this markup language's capabilities.


# Basic text formatting

*Italicized text*

**Bold-faced text**

***Bold-faced italic text***

> This is a block quote!
>
> Note the use of the "greater-than" symbols at the start of each line to designate those lines included in the block.  The line in the middle containing nothing but one of these "greater-than" symbols separates the upper and lower lines of text in the block.


# Formatting computer code

Here is a C code listing, with the language specified as C so that it will appear syntax-highlighted as VS Code already knows how to.  We may use triple-back-tick characters as shown below, or triple-tilde (~) characters:

``` C
#include <stdio.h>

int main (void)
{
  float x = 4.5;
  printf("The square of %f is %f\n", x, x*x);
  return 0;
}
```

Snippets of code that appear within a sentence are demarcated using single back-tick characters like `this`.  Note that single tilde characters will *not* work here, only single back-tick characters. 


# Formatting mathematical statements

Some, but not all, Markdown processors support LaTeX-style mathematical notation.  Microsoft's VS Code is one that does:

$$e^{i \pi} = -1$$

If you wish to be 100% Markdown-compliant, though, you could simply express mathematical formulae as in-line code and then express the formula it as you would in a programming language such as Python:

`exp(i * pi) = -1`

This is kind of nice if you intend to eventually embed that equation within a program anyway!


# Formatting hyperlinks

[Internal link to the "Basic text" section](#basic-text)

[Weblink to Markdown guide](https://www.markdownguide.org/cheat-sheet/)


# Embedding images

![alt text](0000.png)

Note that when using Microsoft VS Code as your text editor, including an image within your Markdown source file is as simple as putting that image into the computer's clipboard (e.g. using a screen-snipping tool or "copying" an image displayed on the screen) and then "pasting" to the Markdown source using the Control-V key combination.


# Formatting tables

| MS Windoze    | Linux          |
| ------------- | -------------- |
| Costs money   | Free           |
| Fixed         | Modifyable     |
| Memory hog    | Memory thrifty |
 

# Sections and subsections

## This marks a subsection

### This marks a sub-subsection

### This marks another sub-subsection

## This marks another section



# Exporting to PDF in *VS Code*

First, you will need to install the *Markdown PDF* extension for VS Code.

Once installed, be sure you're clicked on the tab for your Markdown source file and then press the F1 function key and search for *Markdown PDF: Export (pdf)*.  The resulting PDF file has the same name as the Markdown source file only with a `.pdf` extension rather than `.md` in the same directory.  Note that the list of extensions raised by pressing the F1 key will generally begin with all "recently used" commands, so after doing this once you shoudn't need to search for it again.


# Speech to text in *VS Code*

First, you'll need to install the *VS Code Speech* extension for VS Code.

Once installed, simply press Control-Alt-V to begin recording -- a microphone symbol will appear above the cursor.  To stop recording, simply press the Escape key.  





