# data[].attributes.headline
HTML5 Coding Essentials and Best Practices

# data[].attributes.subject
HTML5 Coding Essentials and Best Practices

# data[].attributes.body
During this course, you will learn:

Learn the simplified HTML5 elements

Play with the audio and video elements

Use the Webcam

Draw and animate fun Web graphics

Discover HTML5 form features

Test the basic APIs, such as Web storage and geolocation

And most of all, practice coding techniques thanks to multiple interactive examples

# data[].attributes.attachment_link.readable_text
This course is a natural follow up of the CSS Basics and HTML5 and CSS Fundamentals courses. As such, prerequisites are:

Be comfortable putting together an HTML document,

Have minimal familiarity with CSS,

Basic knowledge of JavaScript and DOM APIs is sufficient, and this course will include a recap of basics. Another option is to follow W3C's JavaScript Introduction course (introductory level).

Learn the simplified HTML5 elements

Play with the audio and video elements

Draw and animate fun Web graphics

Discover HTML5 form features

Test the basic APIs, such as Web storage and geolocation

And most of all, practice coding techniques thanks to multiple interactive examples

The HTML5 course team is thrilled to guide you in your learning experience. We encourage you to create Web pages and apps and share them in the discussion forums. Have fun!

# data[].attributes.attachment_link.title
HTML5 Coding Essentials and Best Practices

# data[].attributes.attachment_link.description
Welcome! This course is a natural follow up of the CSS Basics and HTML5 and CSS Fundamentals courses. As such, prerequisites are: Be comfortable putting together an HTML document, Have minimal familiarity with CSS, Basic knowledge of JavaScript and DOM APIs is sufficient, and this course will

# data[].attributes.body
During this course, you will notably learn:

Advanced multimedia features with the Track and Audio APIs

HTML5 games techniques

More APIs, including Web Workers and Service Workers

Web components

Persistence techniques for data storage including IndexedDB, File System API and Drag and Drop

# data[].attributes.attachment_link.readable_text
This course is one of the courses composing the " Front-End Web Developer " Professional Certificate program.

You will dive into advanced techniques , combining HTML5, CSS and JavaScript, to create your own HTML5 app and/or game.

During this course, you will notably learn:

Advanced multimedia features with the Track and Audio APIs

HTML5 games techniques

More APIs, including Web Workers and Service Workers

Persistence techniques for data storage including IndexedDB, File System API and Drag and Drop

As always, we wish you the most important thing: have fun!

# data[].attributes.attachment_link.description
Welcome! This course is one of the courses composing the "Front-End Web Developer" Professional Certificate program. You will dive into advanced techniques, combining HTML5, CSS and JavaScript, to create your own HTML5 app and/or game. During this course, you will notably learn: Advanced multimedia

# data[].attributes.body
During this course, you will learn:

Basic selection of CSS properties

Fundamental CSS selectors

Designing page layout through relative positioning with CSS

Best practices in Web design

# data[].attributes.attachment_link.description
Welcome! This course is designed for anyone, no prerequisites required. During this course, you will learn: Basic selection of CSS properties Fundamental CSS selectors Designing page layout through relative positioning with CSS Best practices in Web design Have fun!

# data[].attributes.body
Quickly learn the basics of Web design and style to give your Web sites a professional look and feel, by just following these 6 modules!

The first set of lessons are available under "Module 1: My first Web page in HTML5".

HTML5 Pizza recipe!In Module 2, you will learn about HTML5 attributes, and become fluent in adding images and links in your Web pages.

Now that you have made your first Web page, it is time to introduce you to CSS in Module 3.

CSS is used to style the HTML. some CSS codeIt is how we determine the color, text size, spacing and other visual aspects of your Web page. We'll introduce the syntax of CSS, how to include it with your pages, and get you started with some basic properties and concepts. Note that we'll explore how to use CSS to layout your page during the last week of this course.

CSS box modelWhilst practicing and improving your recipe project (or else) with CSS features, you may have noticed that errors (subtle or not - we've all been there) can get in the way! This week you will learn how to fix your Web page when it's not doing what you hoped it would do.

Module 4 is a 'short' week so please use that time to practice, practice and practice coding again!

Picture of table markupIn Module 5, you will be combining HTML and CSS to create more complex pages, and "beautify" even more your recipe projects. You will learn about tables, the audio and video elements, etc. This is a good preparatory work for the HTML5 Coding Essentials and Best Practices course (intermediate level). You will also learn how to embed other elements in a page other than a simple image. Note that some parts of the material are optional: iframes, usemap, and ismap.

Module 6 is about page layout and more specifically about CSS flexbox. Using flexible widths and heights, elements can be aligned to fill a space or distribute space between elements, which makes it a great tool to use for responsive design systems. Frogs on their lilypads to represent the FlexBox Froggy gameOnce you've got the basics, practice more with this fun Flexbox Froggy game. Note that some parts of this week are clearly indicated OPTIONAL, meaning that there will be no questions related to that content material.

# data[].attributes.attachment_link.readable_text
Quickly learn the basics of Web design and style to give your Web sites a professional look and feel, by just following these 6 modules!

The first set of lessons are available under "Module 1: My first Web page in HTML5".

HTML5 Pizza recipe!In Module 2, you will learn about HTML5 attributes, and become fluent in adding images and links in your Web pages.

Now that you have made your first Web page, it is time to introduce you to CSS in Module 3.

CSS is used to style the HTML. some CSS codeIt is how we determine the color, text size, spacing and other visual aspects of your Web page. We'll introduce the syntax of CSS, how to include it with your pages, and get you started with some basic properties and concepts. Note that we'll explore how to use CSS to layout your page during the last week of this course.

CSS box modelWhilst practicing and improving your recipe project (or else) with CSS features, you may have noticed that errors (subtle or not - we've all been there) can get in the way! This week you will learn how to fix your Web page when it's not doing what you hoped it would do.

Module 4 is a 'short' week so please use that time to practice, practice and practice coding again!

Picture of table markupIn Module 5, you will be combining HTML and CSS to create more complex pages, and "beautify" even more your recipe projects. You will learn about tables, the audio and video elements, etc. This is a good preparatory work for the HTML5 Coding Essentials and Best Practices course (intermediate level). You will also learn how to embed other elements in a page other than a simple image. Note that some parts of the material are optional: iframes, usemap, and ismap.

Module 6 is about page layout and more specifically about CSS flexbox. Using flexible widths and heights, elements can be aligned to fill a space or distribute space between elements, which makes it a great tool to use for responsive design systems. Frogs on their lilypads to represent the FlexBox Froggy gameOnce you've got the basics, practice more with this fun Flexbox Froggy game. Note that some parts of this week are clearly indicated OPTIONAL, meaning that there will be no questions related to that content material.

# data[].attributes.attachment_link.description
Course outline Quickly learn the basics of Web design and style to give your Web sites a professional look and feel, by just following these 6 modules! The first set of lessons are available under "Module 1: My first Web page in HTML5".

# data[].attributes.body
We are excited to have you here and guide you through the process of using ChatGPT. Throughout the course, you will learn how to customize ChatGPT to your preferences, become proficient in using the tool, and even gain some advanced skills. We are committed to ensuring that you have a positive learning experience and will equip you with the best practices to use ChatGPT effectively.

# data[].attributes.attachment_link.readable_text
We are excited to have you here and guide you through the process of using ChatGPT. Throughout the course, you will learn how to customize ChatGPT to your preferences, become proficient in using the tool, and even gain some advanced skills. We are committed to ensuring that you have a positive learning experience and will equip you with the best practices to use ChatGPT effectively.

Please note that while this course serves as an introduction to ChatGPT, it is important to maintain a courteous and respectful tone in all discussions. Any content that violates edX's Terms of Service will not be tolerated. We encourage you to review the edX Terms of Service (ToS) before participating in any course on edX.

Are you ready to begin exploring Intro to ChatGPT? You can select the "Start Course" link at the top of this page or tap back to "Course" in the mobile app.

Thank you for taking the Intro to ChatGPT course!

If you need any assistance, please feel free to visit edX Support through the Support tab or the Help Center . You can also leave your comments or questions about Intro to ChatGPT in the Course Feedback discussion.

# data[].attributes.attachment_link.description
We are excited to have you here and guide you through the process of using ChatGPT. Throughout the course, you will learn how to customize ChatGPT to your preferences, become proficient in using the tool, and even gain some advanced skills.

# data[].attributes.body
Python’s code is structured similarly to the way we write and read. It also uses English keywords, making it both readable as well as versatile. It can be used for everything from analyzing large datasets to building web applications. Here are just a few applications of Python:

Writing scripts to automate tasks

Web development

Collecting data from websites (also known as "web scraping")

Scientific and numeric computing

Data analysis

Data visualization

Machine learning

Python can also be used in just about any industry, like finance, healthcare, marketing, IT, and retail. And this is barely scratching the surface! You would be hard-pressed to find an industry that doesn’t use Python.

# data[].attributes.attachment_link.readable_text
Welcome to this short introduction to the Python programming language! In this course, we'll give you a glimpse into why Python is such a popular language, as well as how you can use it to automate tasks and streamline projects.

Python is one of the most popular and in-demand programming languages in the world.

Python's code is structured similarly to the way we write and read. It also uses English keywords, making it both readable as well as versatile. It can be used for everything from analyzing large datasets to building web applications. Here are just a few applications of Python:

Python can also be used in just about any industry, like finance, healthcare, marketing, IT, and retail. And this is barely scratching the surface! You would be hard-pressed to find an industry that doesn't use Python.

That's why we're excited you've chosen to get to know Python. In this course, you'll learn how Python works and get hands-on programming practice.

# data[].attributes.attachment_link.description
Welcome to this short introduction to the Python programming language! In this course, we’ll give you a glimpse into why Python is such a popular language, as well as how you can use it to automate tasks and streamline projects.
Python is one of the most popular and in-demand programming languages

# data[].attributes.body
What you'll learn

How to navigate the edX platform

How to connect with other edX learners in a course

How to answer problems on the edX platform

How grades work in edX courses

How to complete your first course

# data[].attributes.attachment_link.readable_text
A fun and interactive course designed to help you explore the edX learning experience. Perfect to take before you start your course.

This overview course is designed to show new students how to take a course on edx.org. You will learn how to navigate the edX platform and complete your first course! From there, we will help you get started choosing the course that best fits your interests, needs, and dreams.

# data[].attributes.attachment_link.description
A fun and interactive course designed to help you explore the edX learning experience. Perfect to take before you start your course. About this course This overview course is designed to show new students how to take a course on edx.org.

# data[].attributes.body
Trello is a

free,

collaborative, and

web-based

application that can be used for a wide-variety of tasks. For example, it allows you to easily manage projects from anywhere and organize project tasks into visual boards using customized lists.

# data[].attributes.attachment_link.readable_text
Welcome to this short introduction to Trello. In this course, you will get a brief look into the world of Trello and how it can be used. By way of explanation, you will be shown how Trello can be utilized in project management and you'll gain hands-on experience by creating a project planning document!

Trello is a free, collaborative, and web-based application that can be used for a wide-variety of tasks. For example, it allows you to easily manage projects from anywhere and organize project tasks into visual boards using customized lists. Who doesn't need more lists in their life? Only these lists will help you keep your project organized, provide visibility into your project, improve your project's workflow, keep your team members accountable, and inspire collaboration throughout. But we're getting ahead of ourselves. Let's go back and start with the Trello basics.

Trello uses three main components to help simplify and standardize work: boards, lists, and cards.

A Trello board is a place to organize and track project details and collaborate with project team members. This is done through the use of lists, which contain specific pieces of information.

Lists can be used to simply save project information, or to create a project workflow. In Trello, you can title the lists however you want - there's no limit on the number of lists you can have.

Cards , the most detailed part of the Trello board, are used to serve as ideas or tasks. A card can store information that needs to be documented, or contain a task that needs to be completed. Like lists, cards can be customized and there is no limit to the number of cards you can add to a board. Cards can also be moved from one list to another to show progress in a workflow.

Trello boards can vary from fairly simple to complex depending upon the needs of the organization.

# data[].attributes.attachment_link.description
Welcome to this short introduction to Trello. In this course, you will get a brief look into the world of Trello and how it can be used.

# data[].attributes.body
What topics will you cover?

Key developments in computing

Explore what code can do

How programming works in real life

Writing basic code

Solving a more complex problem with code

Finding out what a development team does

# data[].attributes.attachment_link.readable_text
On this course, you'll find out how and why people program computers.

Using an introductory block-language for coding, you'll discover the kinds of problems that computers can help you solve.

You'll also explore different types of coding languages and discover a variety of useful applications of code.

At the end of the course, you'll implement key principles you've learned by writing your first computer programs.

By the end of the course, you'll be able to...

Summarise key developments in the advent of computer technology.

Identify where algorithms are used in the real world.

Solve basic block-language programming exercises.

Discuss the roles and responsibilities involved in making software.

Solve more advanced block language exercises with expressive solutions.

Describe the features and advantages of text-based coding languages.

This course is designed for people who have digital skills but would like to build confidence in using digital technology in the workplace.

This may include those studying for A-levels, those who have a degree, or those who want to improve their career prospects.

The course will also be useful for anyone in employment who wants to boost their digital skills or anyone returning to the workplace who'd like to gain confidence in how working practices have evolved.

# data[].attributes.attachment_link.description
Discover the art of computer programming and learn what code can do with the Institute of Coding and the University of Leeds. Explore computer programming and complete block-language programming exercises What are computers good at and how can you get the best out of them? On this course, you'll

# data[].attributes.body
pCloud is a cloud storage service that allows you to store and access your files and folders online12. It has a user-friendly interface and a dedicated media player12. It also offers added encryption for your files2. pCloud is available for almost any devices and platforms, including iOS, Android, MacOSX, Windows OS, and Linux1.

# data[].attributes.attachment_link.readable_text
With pCloud I can directly select the folders to sync, which I personally find very good. The synchronization works absolutely perfectly on multiple Macs and iPads. With the Lifetime Plan, I have made a clear one-time investment, which is very convenient for me. Overall, I am absolutely satisfied with pCloud.

# data[].attributes.attachment_link.description
pCloud is the most secure encrypted cloud storage, where you can store your personal files or backup your PC or share your business documents with your team!

# data[].attributes.body
Nextcloud is an open-source software that lets you run a personal cloud storage service. It was developed in 2016 as a fork of ownCloud. Nextcloud allows you to store, access, and share your data from any device or location. It is also enterprise-ready with comprehensive support options.

# data[].attributes.body
This introductory tutorial does not assume any prior experience of LATEX but, hopefully, by the time you are finished, you will not only have written your first LATEX document but also acquired sufficient knowledge and confidence to take the next steps toward LATEX proficiency.

# data[].attributes.attachment_link.readable_text
This introductory tutorial does not assume any prior experience of but, hopefully, by the time you are finished, you will not only have written your first document but also acquired sufficient knowledge and confidence to take the next steps toward proficiency.

(pronounced " LAY-tek" or " LAH-tek") is a tool for typesetting professional-looking documents. However, LaTeX's mode of operation is quite different to many other document-production applications you may have used, such as Microsoft Word or LibreOffice Writer: those " WYSIWYG" tools provide users with an interactive page into which they type and edit their text and apply various forms of styling. LaTeX works very differently: instead, your document is a plain text file interspersed with LaTeX commands used to express the desired (typeset) results. To produce a visible, typeset document, your LaTeX file is processed by a piece of software called a TeX engine which uses the commands embedded in your text file to guide and control the typesetting process, converting the LaTeX commands and document text into a professionally typeset PDF file. This means you only need to focus on the content of your document and the computer, via LaTeX commands and the TeX engine, will take care of the visual appearance (formatting).

support for typesetting extremely complex mathematics, tables and technical content for the physical sciences;

facilities for footnotes, cross-referencing and management of bibliographies;

ease of producing complicated, or tedious, document elements such as indexes, glossaries, table of contents, lists of figures;

being highly customizable for bespoke document production due to its intrinsic programmability and extensibility through thousands of free add-on packages.

Overall, provides users with a great deal of control over the production of documents which are typeset to extremely high standards. Of course, there are types of documents or publications where doesn't shine, including many "free form" page designs typically found in magazine-type publications.

One important benefit of is the separation of document content from document style: once you have written the content of your document, its appearance can be changed with ease. Similarly, you can create a file which defines the layout/style of a particular document type and that file can be used as a template to standardise authorship/production of additional documents of that type; for example, this allows scientific publishers to create article templates, in , which authors use to write papers for submission to journals. Overleaf has a gallery containing thousands of templates, covering an enormous range of document types-everything from scientific articles, reports and books to CVs and presentations. Because these templates define the layout and style of the document, authors need only to open them in Overleaf-creating a new project-and commence writing to add their content.

The first step is to create a new project. You can do this on your own computer by creating a new .tex file; alternatively, you can start a new project in Overleaf.

Let's start with the simplest working example, which can be opened directly in Overleaf:

Open this example in Overleaf.

This example produces the following output:

The first line of code, \documentclass{article}, declares the document type known as its class, which controls the overall appearance of the document. Different types of documents require different classes; i.e., a CV/resume will require a different class than a scientific paper which might use the standard article class. Other types of documents you may be working on may require different classes such as book or report. To get some idea of the many class types available, visit the relevant page on CTAN (Comprehensive TeX Archive Network).

Having set the document class, our content, known as the body of the document, is written between the \begin{document} and \end{document} tags. After opening the example above, you can make changes to the text and, when finished, view the resulting typeset PDF by recompiling the document. To do this in Overleaf, simply hit Recompile, as demonstrated in this brief video clip:

Any Overleaf project can be configured to recompile automatically each time it is edited: click the small arrow next to the Recompile button and set Auto Compile to On, as shown in the following screengrab:

Having seen how to add content to our document, the next step is to give it a title. To do this, we must talk briefly about the preamble.

The preamble of a document

The screengrab above shows Overleaf storing a document as a file called main.tex: the .tex file extension is, by convention, used when naming files containing your document's LaTeX code.

The previous example showed how document content was entered after the \begin{document} command; however, everything in your .tex file appearing before that point is called the preamble, which acts as the document's "setup" section. Within the preamble you define the document class (type) together with specifics such as languages to be used when writing the document; loading packages you would like to use (more on this later), and it is where you'd apply other types of configuration.

A minimal document preamble might look like this:

where \documentclass[12pt, letterpaper]{article} defines the overall class (type) of document. Additional parameters, which must be separated by commas, are included in square brackets ([...]) and used to configure this instance of the article class; i.e., settings we wish to use for this particular article-class-based document.

In this example, the two parameters do the following:

Of course other font sizes, 9pt, 11pt, 12pt, can be used, but if none is specified, the default size is 10pt. As for the paper size, other possible values are a4paper and legalpaper. For further information see the article about page size and margins.

The preamble line

is an example of loading an external package (here, ) to extend 's capabilities, enabling it to import external graphics files. packages are discussed in the section .

Adding a title, author and date to our document requires three more lines in the preamble ( not the main body of the document). Those lines are:

\title{My first LaTeX document}: the document title

\author{Hubert Farnsworth}: here you write the name of the author(s) and, optionally, the \thanks command within the curly braces:
\thanks{Funded by the Overleaf team.}: can be added after the name of the author, inside the braces of the author command. It will add a superscript and a footnote with the text inside the braces. Useful if you need to thank an institution in your article.

\date{August 2022}: you can enter the date manually or use the command \today to typeset the current date every time the document is compiled

With these lines added, your preamble should look something like this:

To typeset the title, author and date use the \maketitle command within the body of the document:

The preamble and body can now be combined to produce a complete document which can be opened in Overleaf:

Open this example in Overleaf.

This example produces the following output:

To make a comment in , simply write a % symbol at the beginning of the line, as shown in the following code which uses the example above:

Open this example in Overleaf.

This example produces output that is identical to the previous LaTeX code which did not contain the comment.

Bold, italics and underlining

Next, we will now look at some text formatting commands:

Bold: bold text in LaTeX is typeset using the \textbf{...} command.

Italics: italicised text is produced using the \textit{...} command.

Underline: to underline text use the \underline{...} command.

The next example demonstrates these commands:

Open this example in Overleaf.

This example produces the following output:

Another very useful command is \emph{argument}, whose effect on its depends on the context. Inside normal text, the emphasized text is italicized, but this behaviour is reversed if used inside an italicized text-see the next example:

This example produces the following output:

Note: some packages, such as Beamer, change the behaviour of the \emph command.

Adding images

In this section we will now look at how to add images to a document-note that you need to upload images to your Overleaf project.

The following example demonstrates how to include a picture:

Open this image example in Overleaf.

This example produces the following output:

Importing graphics into a document needs an add-on package which provides the commands and features required to include external graphics files. The above example loads the graphicx package which, among many other commands, provides \includegraphics{...} to import graphics and \graphicspath{...} to advise where the graphics are located.

To use the graphicx package, include the following line in your Overleaf document preamble:

In our example the command \graphicspath{{images/}} informs that images are kept in a folder named images, which is contained in the current directory:

The \includegraphics{universe} command does the actual work of inserting the image in the document. Here, universe is the name of the image file but without its extension.

Note:

Although the full file name, including its extension, is allowed in the \includegraphics command, it's considered best practice to omit the file extension because it will prompt to search for all the supported formats.

Generally, the graphic's file name should not contain white spaces or multiple dots; it is also recommended to use lowercase letters for the file extension when uploading image files to Overleaf.

More information on packages can be found at the end of this tutorial in the section Finding and using LaTeX packages.

Captions, labels and references

Images can be captioned, labelled and referenced by means of the figure environment, as shown below:

Open this image example in Overleaf.

This example produces the following output:

There are several noteworthy commands in the example:

\includegraphics[width=0.75\textwidth]{mesh}: This form of \includegraphics instructs to set the figure's width to 75% of the text width-whose value is stored in the \textwidth command.

\caption{A nice plot.}: As its name suggests, this command sets the figure caption which can be placed above or below the figure. If you create a list of figures this caption will be used in that list.

\label{fig:mesh1}: To reference this image within your document you give it a label using the \label command. The label is used to generate a number for the image and, combined with the next command, will allow you to reference it.

\ref{fig:mesh1}: This code will be substituted by the number corresponding to the referenced figure.

Images incorporated in a document should be placed inside a figure environment, or similar, so that can automatically position the image at a suitable location in your document.

Further guidance is contained in the following Overleaf help articles:

You can create different types of list using environments, which are used to encapsulate the code required to implement a specific typesetting feature. An environment starts with \begin{environment-name} and ends with \end{environment-name} where environment-name might be figure, tabular or one of the list types: itemize for unordered lists or enumerate for ordered lists.

Unordered lists

Unordered lists are produced by the itemize environment. Each list entry must be preceded by the \item command, as shown below:

Open this example in Overleaf.

This example produces the following output:

You can also open this larger Overleaf project which demonstrates various types of list.

Ordered lists

Ordered lists use the same syntax as unordered lists but are created using the enumerate environment:

Open this example in Overleaf.

This example produces the following output:

As with unordered lists, each entry must be preceded by the \item command which, here, automatically generates the numeric ordered-list label value, starting at 1.

For further information you can open this larger Overleaf project which demonstrates various types of list or visit our dedicated , which provides many more examples and shows how to create customized lists.

One of the main advantages of is the ease with which mathematical expressions can be written. provides two writing modes for typesetting mathematics:

inline math mode used for writing formulas that are part of a paragraph

display math mode used to write expressions that are not part of a text or paragraph and are typeset on separate lines

Inline math mode

Let's see an example of inline math mode:

Open this example in Overleaf.

This example produces the following output:

To typeset inline-mode math you can use one of these delimiter pairs: \( ... \), $ ... $ or \begin{math} ... \end{math}, as demonstrated in the following example:

Open this example in Overleaf.

This example produces the following output:

Display math mode

Equations typeset in display mode can be numbered or unnumbered, as in the following example:

Open this example in Overleaf.

This example produces the following output:

To typeset display-mode math you can use one of these delimiter pairs: \[ ... \], \begin{displaymath} ... \end{displaymath} or \begin{equation} ... \end{equation}. Historically, typesetting display-mode math required use of $$ characters delimiters, as in $$ ... display math here ...$$, but this method is no longer recommended: use LaTeX's delimiters \[ ... \] instead.

More complete examples

The following examples demonstrate a range of mathematical content typeset using LaTeX.

Open this example in Overleaf.

This example produces the following output:

The next example uses the equation* environment which is provided by the amsmath package, so we need to add the following line to our document preamble:

For further information on using amsmath see our help article.

Open this example in Overleaf.

This example produces the following output:

Basic document structure

Scientific articles usually provide an abstract which is a brief overview/summary of their core topics, or arguments. The next example demonstrates typesetting an abstract using 's abstract environment:

Open this example in Overleaf.

This example produces the following output:

Paragraphs and new lines

With the abstract in place, we can begin writing our first paragraph. The next example demonstrates:

how a new paragraph is created by pressing the "enter" key twice, ending the current line and inserting a subsequent blank line;

how to start a new line without starting a new paragraph by inserting a manual line break using the \\ command, which is a double backslash; alternatively, use the \newline command.

The third paragraph in this example demonstrates use of the commands \\ and \newline:

Open this example in Overleaf.

This example produces the following output:

Note how automatically indents paragraphs-except immediately after document headings such as section and subsection- as we will see.

New users are advised that multiple \\ or \newlines should not used to "simulate" paragraphs with larger spacing between them because this can interfere with 's typesetting algorithms. The recommended method is to continue using blank lines for creating new paragraphs, without any \\, and load the parskip package by adding \usepackage{parskip} to the preamble.

Further information on paragraphs can be found in the following articles:

Chapters and sections

Longer documents, irrespective of authoring software, are usually partitioned into parts, chapters, sections, subsections and so forth. LaTeX also provides document-structuring commands but the available commands, and their implementations (what they do), can depend on the document class being used. By way of example, documents created using the book class can be split into parts, chapters, sections, subsections and so forth but the letter class does not provide (support) any commands to do that.

This next example demonstrates commands used to structure a document based on the book class:

Open this example in Overleaf.

This example produces the following output:

The names of sectioning commands are mostly self-explanatory; for example, \chapter{First Chapter} creates a new chapter titled First Chapter, \section{Introduction} produces a section titled Introduction, and so forth. Sections can be further divided into \subsection{...} and even \subsubsection{...}. The numbering of sections, subsections etc. is automatic but can be disabled by using the so-called starred version of the appropriate command which has an asterisk (*) at the end, such as \section*{...} and \subsection*{...}.

Collectively, LaTeX document classes provide the following sectioning commands, with specific classes each supporting a relevant subset:

In particular, the \part and \chapter commands are only available in the report and book document classes.

Visit the Overleaf article article about sections and chapters for further information about document-structure commands.

Creating tables

The following examples show how to create tables in LaTeX, including the addition of lines (rules) and captions.

We start with an example showing how to typeset a basic table:

Open this example in Overleaf.

This example produces the following output:

The tabular environment is the default method to create tables. You must specify a parameter to this environment, in this case {c c c} which advises that there will be three columns and the text inside each one must be centred. You can also use r to right-align the text and l to left-align it. The alignment symbol & is used to demarcate individual table cells within a table row. To end a table row use the new line command \\. Our table is contained within a center environment to make it centred within the text width of the page.

Adding borders

The tabular environment supports horizontal and vertical lines (rules) as part of the table:

to add horizontal rules, above and below rows, use the \hline command

to add vertical rules, between columns, use the vertical line parameter |

In this example the argument is {|c|c|c|} which declares three (centred) columns each separated by a vertical line (rule); in addition, we use \hline to place a horizontal rule above the first row and below the final row:

Open this example in Overleaf.

This example produces the following output:

Here is a further example:

Open this example in Overleaf.

This example produces the following output:

Tip!

Creating tables in can be time-consuming so you may want to use the TablesGenerator.com online tool to export code for tabulars.

Captions, labels and references

You can caption and reference tables in much the same way as images. The only difference is that instead of the environment, you use the environment.

Open this example in Overleaf.

This example produces the following output:

Adding a Table of Contents

Creating a table of contents is straightforward because the command \tableofcontents does almost all the work for you:

Open this example in Overleaf.

This example produces the following output:

Sections, subsections and chapters are automatically included in the table of contents. To manually add entries, such as an unnumbered section, use the command \addcontentsline as shown in the example.

The following brief video clip shows how to download your project's source code or the typeset PDF file:

More information can be found in the Overleaf help article Exporting your work from Overleaf.

Finding and using LaTeX packages

not only delivers significant typesetting capabilities but also provides a framework for extensibility through the use of add-on packages. Rather than attempting to provide commands and features that "try to do everything", is designed to be extensible, allowing users to load external bodies of code (packages) that provide more specialist typesetting capabilities or extend 's built-in features-such as typesetting tables. As observed in the section Adding images, the graphicx package extends by providing commands to import graphics files and was loaded (in the preamble) by writing

As noted above, packages are loaded in the document preamble via the \usepackage command but because (many) packages provide a set of options, which can be used to configure their behaviour, the \usepackage command often looks like this:

The square brackets "[...]" inform which set of options should be applied when it loads somepackage. Within the set of options requested by the user, individual options, or settings, are typically separated by a comma; for example, the geometry package provides many options to configure page layout in , so a typical use of geometry might look like this:

The geometry package is one example of a package written and contributed by members of the global community and made available, for free, to anyone who wants to use it.

When you write \usepackage[...]{somepackage} looks for a corresponding file called somepackage.sty, which it needs to load and process-to make the package commands available and execute any other code provided by that package. If cannot find somepackage.sty it will terminate with an error, as demonstrated in the following Overleaf example:

Open this error-generating example on Overleaf

This example produces the following output:

Finding information about packages: CTAN

Packages are distributed through the Comprehensive TeX Archive Network, usually referred to as CTAN, which, at the time of writing, hosts 6287 packages from 2881 contributors. CTAN describes itself as

... a set of Internet sites around the world that offer TEX-related material for download.

You can browse CTAN to look for useful packages; for example:

You can also use the search facility (at the top of the page).

Packages available on Overleaf: Introducing TeX Live

Once per year a (large) subset of packages hosted on CTAN, plus -related fonts and other software, is collated and distributed as a system called TeX Live, which can be used to install your own (local) LaTeX setup. In fact, Overleaf's servers also use TeX Live and are updated when a new version of TeX Live is released. Overleaf's TeX Live updates are not immediate but take place a few months post-release, giving us time to perform compatibility tests of the new TeX Live version with the thousands of templates contained in our gallery. For example, here is our TeX Live 2022 upgrade announcement.

Although TeX Live contains a (large) subset of CTAN packages it is possible to find an interesting package, such as igo for typesetting Go diagrams, which is hosted on CTAN but not included in (distributed by) TeX Live and thus unavailable on Overleaf. Some packages hosted on CTAN are not part of TeX Live due to a variety of reasons: perhaps a package is obsolete, has licensing problems, is extremely new (recently uploaded) or has platform dependencies, such as working on Windows but not Linux.

New packages, and updates to existing ones, are uploaded to CTAN all year round but updates to TeX Live are distributed annually; consequently, packages contained in the current version of TeX Live will not be as up-to-date as those hosted on CTAN. Because Overleaf's servers use TeX Live it is possible that packages installed on our servers-i.e., ones available to our users-might not be the very latest versions available on CTAN but, generally, this is unlikely to be problematic.

# data[].attributes.attachment_link.description
An online LaTeX editor that's easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.

# data[].attributes.body
5 GB အထိ အခမဲ့ အသုံးပြုနိုင်သည့် cloud storage ဖြစ်သည်။

# data[].attributes.body
Microsoft Excel is a powerful tool that can help streamline your business processes and productivity but its many formulas, functions, and chart types to choose from can easily overwhelm you. Whether you are a beginner, intermediate or advanced user, this course offers plenty of shortcuts, tips and tricks to help you master Microsoft Excel by using the best formulas for your projects to increase business productivity.

# data[].attributes.attachment_link.readable_text
Learn how Microsoft Excel formulas and functions can make you a spreadsheet expert in this free online course.

Microsoft Excel is a powerful tool that can help streamline your business processes a... Microsoft Excel is a powerful tool that can help streamline your business processes and productivity but its many formulas, functions, and chart types to choose from can easily overwhelm you. Whether you are a beginner, intermediate or advanced user, this course offers plenty of shortcuts, tips and tricks to help you master Microsoft Excel by using the best formulas for your projects to increase business productivity.

# data[].attributes.attachment_link.title
Microsoft Excel Formulas and Functions | Free Online Course | Alison

# data[].attributes.attachment_link.description
Become an Microsoft Excel expert with this spreadsheet course that explains how the advanced use of formulas and functions can boost workplace productivity.

# data[].attributes.body
20 GB အထိ အခမဲ့ အသုံးပြုနိုင်သော cloud storage ဖြစ်သည်။