# Leslie Lamport & LaTeX
[TOC]
- [PPT link](https://docs.google.com/presentation/d/1TSXMjXs2PE6j0nDCUp9wBY3sUmduPlgMrvnmYbiQrU8/edit#slide=id.g10b59499c54_0_13469)
Good morning, today the topic of my presentation is Leslie Lamport and LaTeX.
First, I am going to introduce Leslie Lamport about his career, research, and his contribution to academics.
And then, I will arrange a simple guide on LaTeX. Hope after my presentation, it could arouse your interest in this useful tool.
## [Leslie Lamport](http://lamport.org/)
- American computer scientist
### Education
- B.S. in mathematics from Massachusetts Institute of Technology(MIT).
- M.A. and Ph.D. degrees in mathematics from Brandeis University.
> Bachelor's degree
> Master's degree
> Doctor of Philosophy
### Career Life
And about his career life, here I only mention two institutions that I think are well-known to you.
- [SRI](https://www.sri.com/)
- SRI International (SRI) is an American nonprofit **scientific research institute** and organization headquartered in California.
- He worked there from 1977 to 1985.
- [MSR](https://www.microsoft.com/en-us/research/?from=http%3A%2F%2Fresearch.microsoft.com%2F)
- **Microsoft Research** (MSR) is the research subsidiary of Microsoft.
- He has been working there since 2001 until now.
Lamport has his personal website. If you are interested in him, you can click in and have a look.
> His location --> If you search this coordinates on Google Map, you will found that here is Silicon Valley. Silicon Valley is a region in Northern California that serves as a global center for high technology and innovation.
### Research
Lamport is best known for his seminal work in distributed computing.
:::info
#### Distributed computing
- A field of computer science that studies **distributed systems**.
- A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system.
- **The components interact with one another in order to achieve a common goal.**
- It deals with a central challenge that, when one of the components of system fails, it doesn't imply the entire system fails.
- Three significant characteristics of distributed systems are:
- **Concurrency of components**
- **Lack of a global clock**
- **Independent failure of components**
:::
But today I won't focus on this topic, so if you want to learn more about distributed systems, you can try to read some related articles or papers.
- Lamport is also the initial developer of the document preparation system [LaTeX](https://en.wikipedia.org/wiki/LaTeX), and the author of its first manual
- Lamport is the winner of the 2013 Turing Award
- Imposing clear, well-defined coherence on the seemingly chaotic behavior of distributed computing systems
- He developed formal modeling and verification protocols that improve the quality of real distributed systems.
- He also won Dijkstra Prize in 2000, 2005, 2014.
- [Dijkstra Prize](https://en.wikipedia.org/wiki/Dijkstra_Prize)
- [Self-stabilization](https://en.wikipedia.org/wiki/Self-stabilization)
## LaTeX
### History
- TeX is a typesetting system which was designed and written by Donald Knuth and first released in 1978.
- When Donald Knuth began issuing the early releases of TeX, Lamport — due to his personal need of writing a book — also began working on a set of macros based on it. This set of macros would later become known as LaTeX.
:::info
- **Macro**
- A macro in computer science is a rule or pattern that specifies how a certain input should be mapped to a replacement output.
- Macros are used to make a sequence of computing instructions available to the programmer as a single program statement, making the programming task less tedious and less error-prone.
:::
- What is LaTeX?
- A tool used to create professional-looking documents.
- Who uses LaTeX?
- Anyone who only wants to focus on writing the contents of the document, doesn't want to spend too much time on formatting.
- When to use LaTeX?
- Writing papers, books, or any kind of document.
- Why LaTeX is needed?
- It separates the content of the document from the style.
- Instead of spacing out text on a page to control formatting, as with Microsoft Word, users can enter plaintext and let LATEX take care of the rest.
- How to use LaTeX?
- Let’s start with the hands-on today!
### DIY
There are many kinds of LaTeX editors, some are free to use, some are not. And some have online interfaces, some are needed to download software on your own computer.
There are many articles talking about comparison of LaTeX editors. But today we are not going to have a closer look at those comparisons. I plan to let all of you do hands-on LaTeX on Overleaf. It's an online editor, so you don't need to install anything on your laptops.
- LaTeX Editor
- [Overleaf](https://en.wikipedia.org/wiki/Overleaf) is a collaborative cloud-based LaTeX editor used for writing, editing and publishing scientific documents.
- [Texmaker](https://en.wikipedia.org/wiki/Texmaker)
- [My test file](https://www.overleaf.com/2845394626wvcrbyxntsnx)
Please click the link and go to Overleaf Official website, in order to use this editor you have to register with your email account. Once you log in, it will ask you to create a new project. Click the blank project, and name your project.
#### Classes & packages
- All commands you type in the LaTeX file should start with a backslash. And you will see the color of the font is blue, the blue color will make you easily distinguish the commands from the content of your document.
- Before we learn some basic commands of LaTeX, here you need to clarify two things, Classes & packages.
- At the beginning of our LaTeX file, you need to type a command called documentclass.
```TeX=
\documentclass[]{}
```
- Classes
- Define the type of document you're going to edit.
- If you take a look on the LaTeX Manual, there is a list of classes you can choose to use for your document.
- Inside **curly brackets** is for the class you're going to use.
- In this case, the class is article, the simplest and most common LATEX class people frequently use. Other types of documents you may be working on may require different classes. Just check the list on the manual if you need.
- Inside **square brackets** is for optional arguments, we can leave them blank. If you want to initialize some setting like font size(the default is 10pt), you can type in square brackets.
```TeX=
\usepackage[]{}
```
- Package
- Because LaTeX official does not provide rich choices of classes. Sometimes we need to include other declaration of document for special usage.
- You can simply think of it as the library you write yourself to include while you are programming in C.
- It also have **square brackets** for optional arguments.
- Options like character encoding format(utf8).
#### Basic
```
\title{}
\author{}
\date{}
```
Here are some frequently used commands for the information you want to show up in your document.
```TeX=
\begin{document}
\end{document}
```
You need to declare before you actually begin your document.

Usually, \section is the top-level document command in most documents.
However, in reports or books, and similar long documents, this would be \chapter or \part.
#### Formula
- a pair of dollar signs
#### Chinese Text
- [Chinese - Overleaf](https://www.overleaf.com/learn/latex/Chinese)
```TeX=
\documentclass{ctexart}
```
#### Figure
- [Inserting Images - Overleaf](https://www.overleaf.com/learn/latex/Inserting_Images)
#### Table
- [Tables - Overleaf](https://www.overleaf.com/learn/latex/Tables)
#### Citation
- [Bibliography management with bibtex](https://www.overleaf.com/learn/latex/Bibliography_management_with_bibtex)
## Reference
- [Leslie Lamport's Home Page](http://lamport.org/)
- [Wikipedia - Leslie Lamport](https://en.wikipedia.org/wiki/Leslie_Lamport)
- [LaTeX website](https://www.latex-project.org/)
- [LaTeX Doc list](https://www.latex-project.org/help/documentation/#general-documentation)
- [Overleaf - Learn LaTeX in 30 minutes](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes)
- [[YouTube] LaTeX Tutorial 1 - Creating a LaTeX Document](https://www.youtube.com/watch?v=0ivLZh9xK1Q&ab_channel=MichelleKrummel)
- [Wikiooks - LaTeX Basic](https://en.wikibooks.org/wiki/LaTeX)
- [What are LaTeX classes and packages?](https://texfaq.org/FAQ-clsvpkg)