LaTeX #20 - versioning with GitHub (2023)


Welcome to our full LaTeX course! In this course, we'll take you from beginner to expert in LaTeX, a powerful document preparation system for high-quality typography.

Whether you're a student, researcher, academic, or just interested in learning LaTeX, this course is for you.

We'll start with the basics of LaTeX, including installing a LaTeX distribution and text editor, and writing and compiling your first LaTeX document.

We then move on to more advanced topics, such as creating complex math equations and scientific notation, formatting tables and figures, customizing document styles and templates, and using LaTeX for collaborative writing and version control.

Our course is designed for beginners, so no prior knowledge of LaTeX is required. Each lesson includes step-by-step instructions, examples, and exercises so you can follow what you've learned and put it into practice.

By the end of the course you will have a thorough knowledge of LaTeX and be able to create professional quality documents for any purpose.

So if you're ready to master LaTeX, sign up for our full LaTeX course today! Don't forget to subscribe to our channel and turn on notifications so you don't miss any new videos.

You can also find the source code of this project from the Github link below.
Express source code of the entire

🔔 Course developed by Dhanushka Sandakelum. You can find more useful IT courses on my YouTube channel:

⭐ More complete IT courses on my channel ⭐
🔗 ExpressJS Full
🔗Respond Complete Starter Course [2023]
🔗 Scala function
🔗 Physical computing with
🔗 Data structures and
🔗 Linear
🔗 Operating
🔗 Database management

🎮 Also check out my guides on game development with Unreal Engine 🎮
🔗 Full third-person
🔗 Tier AIživotinje

🚩 Connect with me on social networks:
- Research


It's time for me to comment on those things to complete our document.

So now I can comment everything, okay - and this stop says now.

Let's try again now, so yes.

This will take some time as we have a lot of packages.

Important high-traffic content is also pre-rendered: umm yeah, okay, now the build is done and we've got all the diagrams and all the tweaks, so yeah.

Long story short we have a lot of stars in this class so we started in chapters and paragraphs talking about explanatory meetings and how to map lists and how to use math expressions in your latex document and how to make a create correct code list and how to manipulate colors and how to draw charts and graphs using your image, image environment as an elastic package and how to create graph proteins using pdf gates and how to add theorem proofs, color division and laymas and we also discussed briefly fonts and finally we discuss referring to acronyms and an index.

So everything is there and you can create any relevant publication with these themes.

So I'm going to post this as a template so you might check it out later.

Now what we need to do is push everything to GitHub, so the GitHub Visa version control system, so uh.

It is very useful when it comes to programming.

But when it comes to this research and things like that, most likely there will be a team working on a specific research, so maybe document counting, er, combinations and other related things related to publications.

You can use GitHub so that version control can be done there.

So first you have to go to GitHub and here's my dashboard, but maybe we can build a new organization so we can open a server repository there.

So let's create a new org and I'm just going to use the free org and we need to give you a good account name, so yeah.

Maybe we just make epic demos and uh yeah.

You also have to provide a contact email address, so I give my email address and point it to my personal account and uh yes.

We have to do those things too, okay, and do it right, uh.

Feel free to quote members here all you want, but you can skip this step for now because we might add more carb stores later, so yeah, I'll just skip this step and yes.

So here's my organization. So you can easily customize this organization by going through these settings. Maybe you can upload a good uh profile picture and maybe give a more user friendly display name of the organization as well.

Okay if you have social media connections you can send those things there too but for now I think this default content will be enough to get the job done and yes I'm just going back to my organization.

So this is my newly built organization.

I can just walk up there and um.

When browsing organizational repositories.

There is currently no archive.

Okay, a repository is basically a shared code space. Yes, your code can be saved.

Then others can refer to that repository and make their changes directly there as well.

So let's create a repository first and I could name it - let's say latex, template and yes.

I can keep this as public domain so anyone can access it.

But if you want to keep it private you can do that too, but for now I'm just going to make it public and leave these things as they are and let's create a repository for now.

The repository was created, uh, so uh.

Basically, now you need to initialize this repository on your local device as well.

Uh, then you can push your content to that particular repository, so uh, all you have to do is basically yes.

If you have a GitHub desktop, you can try this. However, if you don't have GitHub Desktop first, you'll need to download and install GitHub Desktop on your computer. You must also install the Git SCM package. Since this is the underlying infrastructure used to run GitHub-related functions, you must install these two software programs. Maybe I will.

Let me show you the sites where you can download these things properly.

So this is the place to download the Git test CM.

So, depending on your operating system, you need to choose the right distribution.

So just download and install it. You will then need to download and install GitHub desktop. However, this is not necessarily required to use Git The Hub's features, but it does give you a very nice user-friendly interface.

Then you don't have to remember all the commands related to GitHub and the like.

This is why we're going to use GitHub desktop because if you're new to this area of ​​version control I think it will be pretty easy to understand with GitHub desktop, but I'd rather use git uh bash again.

So it is a command line interface.

So in this command line interface you can type any command you want to push to your repository.

Well, you could also get your repository content, so the GitHub desktop will look something like this.

Basically this is the user interface.

Here's the repository you'll be using, and here's the history.

Log in and here is your commitment, check mark, comment field and everything is there and here you can choose.

Branches if you're a repository has all sorts of branches and here's where you can update your repository or maybe pull your changes or push your changes back to the repository, so that's the UI and the underlying infrastructure that this CLI adds, right.

So within this command line interface you can enter commands related to git, and it basically initializes your representative related activities.

Okay, but we can still just use this git hub desktop.

Here in your repository, click on the "Set to Desktop" option and open our repository here. You must point to your uh directory to create this particular repository.

So here's the current folder, but now let me select another folder: uh, maybe Property, C and yes, I'll select this default folder and let me select a folder and it's going to create this latex template folder for us.

Let's clone it correctly.

Now that we've cloned our document, you can launch the repository and go to it by clicking "Show Explorer" on the right.

Uh, so this is the local server repository folder and we actually need to move this content related to the latex document into this folder.

We can then push those files to GitHub.

So to do that this is my current folder so maybe I copy and paste all the content in there and maybe we try to open our layer the latex document again so we open that and let's do that get the template right .

So everything is correct.

Is it the exact same latex document we made? Now if you go to your GitHub desktop, you can see that a lot of files have been added, but we don't really need to push everything to GitHub.

Ah, since some of these files are temporary files, you don't need to commit those temporary files to the GitHub repository because they are created in your local directory during build.

So we should also ignore those files and uh, ignore the files, yes.

So to ignore files you can basically create a new git ignore and uh yeah.

We need to specify which files to ignore in this repository, so uh.

Let me show you an example and later provide techno content for you to put to good use.

So this is an example of a techno file that you can use to ignore unnecessary build files in your latex document.

So there are many stars.

This is obviously a very good file, so feel free to link to it.

So just uh, uh, I'm looking for latex, git techno, so it'll uh.

You can go to this GitHub document.

Then you can just copy that content over here and go back to our text file, paste it here, save it and go back to the GitHub desktop, okay.

Now you can see that only the necessary files to be sent to your GitHub repository are listed.

Therefore, all necessary unnecessary temporary files created in this directory are ignored.

Uh, that's why you're not recording the file properly, so make sure you add that git techno.

Otherwise, you can actually push the full content.

GitHub will be fine, but not exactly good practice, right?

Therefore, your codebase should not contain these kinds of unnecessary files.

So I'm not going to push those things any further, and now that we have those files, you can actually comment.

So let me say maybe you initialized latex rapport and c memory and then we can commit to main so main is the master branch and it will take a while to add those things and we can publish our branch.

So once you publish a branch, your original content will be replicated in your repository. Just update it.


Now you can see we have our latex document here.

Now you can easily share this repository link with your team members and they can also collaborate on your publication.

And if you want to add team members to this repository, just go to settings and go to "staff yes".

Then you can easily manage access here by adding people or maybe even a team, and yes.

This allows you to submit content to GitHub, even in a readme file. So the readme file basically describes what's currently in your directory, um, so yeah.

Maybe we'll start with that.

Also one, so I'll just add the readme file here and yes, by default.

It will be this name and yes.

This is how we write MD files correctly.

So this will be the title and you can go to the preview.

So you can see here that this has now become the title.

Likewise, eh.

If you would like to provide text, you can also do so here.

For example, let's say, uh: this is a latex template or something, and you can go to the preview tab.

You can see our readme file, MD Content, now appearing.

You can also give more details here, but for now I'll give these two lines and uh yes I can commit the master branch and this will be the default commit message and now we're going to commit a new file.

You can see we have this readme md file, but if you check your local repo, we don't have a redmi file here because we haven't synced our local repo with GitHub.

To do this, we go back to GitHub and get the source again, so it's basically a check for sync issues between GitHub and your local repository.

So we have such a new change.

So basically we need to make this change in our local repository.

Just click on the whole origin here and I'll click on this.

Then the readme file is automatically downloaded to our local repository.

Here we have the contents of the Readme MD file. So if you make a new change to the repository, make sure to commit those changes.

From time to time, these changes will be replicated in your repository.

So you can machine proof your latest document - and that's the end of our extensive latex range and yes.

Now if you want to clarify things even more, make sure you set these steps as well and yes.

Thank you and see you in the next series of tutorials and see you soon.


Does latex work with Git? ›

Yes, tools like SVN and git where developped to version control source code. But the latex code you are writting is also a source code – it compiles to a full document, but it has the same structure. In fact, TeX is a turing-complete language. Git+latex is a wonderfull workflow and idea.

How to write latex in git? ›

A Git workflow for writing papers in Latex
  1. Split the document/paper into different files. ...
  2. Commit the .tex files into the master branch of the local Git repo. ...
  3. Push the master branch to the server, e.g., Bitbucket or GitHub. ...
  4. Pick a section to work on (e.g., section 2) and communicate your choice to the collaborators.

What is Git and GitHub Hindi? ›

GitHub एक वेब Based Hosting Service है। इसमें Git के Repository को Host किया जाता है। इसका उपयोग Code Share करने तथा Realtime Collaboration में भी किया जाता है। इसको Tom Preston-Werner, Chris Wanstrath और PJ Hayett ने मिलकर विकसित किया था।

Can you use LaTeX on GitHub? ›

About writing mathematical expressions

To enable clear communication of mathematical expressions, GitHub supports LaTeX formatted math within Markdown. For more information, see LaTeX/Mathematics in Wikibooks. GitHub's math rendering capability uses MathJax; an open source, JavaScript-based display engine.

Can you upload LaTeX to GitHub? ›

Create repository on Github

Create a new repository on Github, this should be under your “real” Github account or any organization you have access to, upload the Latex document and all ancillary files.

Why use Git instead of GitHub? ›

Although the two are closely related, Git is open source software maintained by Linux, while Microsoft owns GitHub. Git is an open-source platform – free to use, modify, and distribute. Contrastingly, GitHub follows a specific pricing model. It offers a free plan with all the core GitHub features for individuals.

Should I use Git and GitHub? ›

If you're working on a personal project or don't need the features of GitHub, then Git is a great choice. However, if you're working on a project with other people, GitHub is the better choice. Its robust features and user-friendly interface make it the best platform for collaboration.

Is GitHub necessary to use Git? ›

You do not need GitHub to use git, but you cannot use GitHub without using git. There are many other alternatives to GitHub, such as GitLab, BitBucket, and “host-your-own” solutions such as gogs and gittea. All of these are referred to in git-speak as “remotes”, and all are completely optional.

How do I run a LaTeX code? ›

Using the Command Line/Terminal
  1. latex [filename]. tex will compile [filename]. tex and output the file [filename]. dvi.
  2. pdflatex [filename]. tex will compile [filename]. tex and output the file [filename]. pdf.
Nov 23, 2021

How to compile code in LaTeX? ›

In order to compile a LaTeX file, simply press \ll while editing the file. This runs latex on the current file and displays the errors in a |quickfix-window| below the file being edited. You can then scroll through the errors and press <enter> to be taken to the location of the corresponding error.

How do I run a command in LaTeX? ›

Use Ctrl + L in the Source (Legacy) editor. Toggle commenting for selected lines. (Comment/uncomment selected text.)

Can I code directly in GitHub? ›

About the github.

With the github. dev editor, you can navigate files and source code repositories from GitHub, and make and commit code changes. You can open any repository, fork, or pull request in the editor.

Can you actually code with GitHub? ›

Introduction. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. This tutorial teaches you GitHub essentials like repositories, branches, commits, and pull requests.

Is it legal to use code from GitHub? ›

Software code on GitHub is generally licensed openly, and distributed without requiring payment. While all code is highly functional, only the expressive aspects of code are protected by copyright law.

How do I connect overleaf to GitHub? ›

  1. Make a new project on Overleaf.
  2. In the share menu, copy the link from "Clone with git"
  3. On your computer: use cd to navigate to where you want to put your project. type mkdir and then the name of the project. cd into that project. do git init. do git remote add overleaf with the link you copied.

How does overleaf work with GitHub? ›

Overleaf GitHub Synchronization is a premium feature for Overleaf Cloud users. The GitHub Synchronization feature allows you to link your Overleaf projects directly to a GitHub repository and keep them in sync.

Why do people still use Git? ›

One of the biggest advantages of Git is its branching capabilities. Unlike centralized version control systems, Git branches are cheap and easy to merge. This facilitates the feature branch workflow popular with many Git users. Feature branches provide an isolated environment for every change to your codebase.

Why is Git so difficult to use? ›

The Git interface is more complicated than it has to be because it respects the old habits of its users. Git is secured from man-in-the-middle attacks: there is almost no way of tampering inside a repository without Git noticing something is off.

Is GitHub a version control system? ›

Simply put, Git is a version control system that lets you manage and keep track of your source code history. GitHub is a cloud-based hosting service that lets you manage Git repositories. If you have open-source projects that use Git, then GitHub is designed to help you better manage them.

Is GitHub used professionally? ›

Github is a web-based hosting and collaboration platform used by professional programmers to develop new software. A professional who uses Github can create and manage software with the advanced platform.

Is GitHub still good? ›

Today, GitHub is one of the most popular resources for developers to share code and work on projects together. It's free, easy to use, and has become central in the movement toward open-source software.

What company owns GitHub? ›

Image of What company owns GitHub?
Microsoft Corporation is an American multinational technology corporation headquartered in Redmond, Washington. Microsoft's best-known software products are the Windows line of operating systems, the Microsoft Office suite, and the Internet Explorer and Edge web browsers.

Should beginners use GitHub? ›

Github is easy to use for beginners. In fact, you'll only need to know a few Git commands to learn how to push code to GitHub. If you already know Git, GitHub will be a breeze but it will be a bit harder if you don't know Git. Getting on GitHub can be a game-changer for you as a new or aspiring developer.

Does overleaf use Git? ›

Overleaf's Git integration is a premium feature for Overleaf Cloud users and is also available for Overleaf Server Pro (version 4.0 and later).

What code editor should I use for Git? ›

On Windows, if you use Git Bash the default editor will be Vim. Vim is another text editor, like nano or notepad. In order to get started Vim there are only a few commands you must remember.

What is Git compatible with? ›

Git is compatible with a variety of operating systems, including: Windows 7, 8, 8.1, and 10. macOS 10.9 (Mavericks) or newer.

What languages can you use with Git? ›

Core languages for GitHub features include C, C++, C#, Go, Java, JavaScript, PHP, Python, Ruby, Scala, and TypeScript.

How do I integrate Overleaf with GitHub? ›

  1. Make a new project on Overleaf.
  2. In the share menu, copy the link from "Clone with git"
  3. On your computer: use cd to navigate to where you want to put your project. type mkdir and then the name of the project. cd into that project. do git init. do git remote add overleaf with the link you copied.

How do I connect GitHub to Overleaf? ›

You can configure your Overleaf project to sync directly with a repository on GitHub, or you can use raw git access as described below. To sync your project directly with GitHub, open your project, go to the Menu in the top left, and choose GitHub from the Sync section. Then follow the prompts.

Is Git the best version control? ›

Software development teams prefer Git over other version control systems, like CVS, Mercurial, and Perforce, because Git has the adaptability, speed, and stability required to thrive in fast-paced markets. It's no wonder that 87.2% of developers use Git for version control.

Does GitHub have a code editor? ›

The github. dev web-based editor is a lightweight editing experience that runs entirely in your browser. You can navigate files and source code repositories from GitHub, and make and commit code changes.

Can we edit code in Git? ›

You can edit files directly on GitHub in any of your repositories using the file editor.

Should I use Git for version control? ›

Git is a version control system that you download onto your computer. It is essential that you use Git if you want to collaborate with other developers on a coding project or work on your own project.

What can I use instead of Git version? ›

Top 10 Alternatives & Competitors to Git
  • Azure DevOps Server. (156)4.2 out of 5.
  • Helix Core. (96)4.2 out of 5.
  • AWS CodeCommit. (78)4.2 out of 5.
  • Subversion. (64)3.9 out of 5.
  • Rational ClearCase. (40)2.9 out of 5.
  • Plastic SCM. (36)4.2 out of 5.
  • Mercurial. (31)4.2 out of 5.
  • Micro Focus AccuRev. (20)3.8 out of 5.

Which files should not go to Git? ›

Files that are automatically generated

This includes files from preprocessors (like Sass to CSS). You don't check in the CSS. You check in the Sass files. If you use JavaScript compilers like Webpack or Rollup, you don't check in the generated JavaScript file.

What is the most popular language on GitHub? ›

The most popular languages are JavaScript/TypeScript and Python with roughly 20% of all pull requests each. In effect, if you put JavaScript/TypeScript and Python together, you get about 40% of all pull requests. Then you get the second tier languages: Java and Scala, C/C++, and Go.

Does LaTeX count as a programming language? ›

LaTeX is a programming language in a fashion similar to C. In particular, LaTeX code must be compiled to produce a document. This is often done using pdflatex , a program which produces a PDF file from a LaTeX document. In this course, your repositories will come with appropriate Makefile s.

Does China use Git? ›

Gitee offers Git and Apache Subversion as a service. But while GitHub has occasionally been banned in China, Gitee was anointed as China's designated open source development hub in 2020, after the nation's Ministry of Industry and Information Technology conducted a bidding process.


Top Articles
Latest Posts
Article information

Author: Kareem Mueller DO

Last Updated: 12/20/2023

Views: 5905

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Kareem Mueller DO

Birthday: 1997-01-04

Address: Apt. 156 12935 Runolfsdottir Mission, Greenfort, MN 74384-6749

Phone: +16704982844747

Job: Corporate Administration Planner

Hobby: Mountain biking, Jewelry making, Stone skipping, Lacemaking, Knife making, Scrapbooking, Letterboxing

Introduction: My name is Kareem Mueller DO, I am a vivacious, super, thoughtful, excited, handsome, beautiful, combative person who loves writing and wants to share my knowledge and understanding with you.