LaTeX in brief
LaTeX is the most used documentpreparation system in the academia world, derived from the TeX typesettingsystem, first written by the Legendary DonaldKnuth. It is a textual markuplanguage for producing digitally distributed files, ready to be printed. In thisarticle I will not cover the basics of LaTeX. If you want to learn more, you canhead over to the excellent WikiBook.If you have any questions you can query the huge database of answeredquestions at Tex Stack Exchange
Visual Studio Code LaTeX Workshop Extension LaTeX Workshop is an extension for Visual Studio Code, aiming to provide core features for LaTeX typesetting with Visual Studio Code. This project won't be successful without contributions from the community, especially from the.
- LaTeX in brief LaTeX is the most used document preparation system in the academia world, derived from the TeX typesetting system, first written by the Legendary Donald Knuth. It is a textual markup language for producing digitally distributed files, ready to be printed. If you don’t like Visual Studio Code (for ethical or practical causes.
- Intra-text adornment extension to the Visual Studio Editor for rendering TeX math comments inside editor. Supports C#, F#, C, C, VB.NET, Python and R.
I first stumbled into LaTeX as a first year computer science student, I wastaking lecture notes in markdown and I wanted to include mathematical notationin them. At first, I’ve started using MathJax, across-browser JavaScript library used to display mathematical notation inbrowsers; I didn’t know anything about the TeX world yet, except that it was thestandard for writing books and scientific papers. I kept taking notes inmarkdown for a couple of months while thinking that LaTeX was somehowcomplicated and esoteric, until one day. I was in my discrete maths and linearalgebra Professor’s office to ask some questions related to the courses. Prof.Berarducci, always eager to answer his students' questions,noticed that I was making a mess by mixing up markdown and LaTeX.He began to show me how he writes notes, slides and papers using TeXStudio,and he showed me some tips and tricks to writepreludes forprojects that make use of a lot of mathematical notation. This is how I’ve gotintroduced to the world of writing LaTeX. In less than half an hour I had theknowledge to write not perfect, but at least readable lecture notes in a basicMathematics course.
TeXStudio, the good and the bad.
TeXStudio is a cross-platform open-source LaTeXeditor and IDE. It is a great TeX writing environment if it is your first timeapproaching LaTeX. The UX is fine, what you have is an almost WYSIWYG editorwritten in C++ using the Qt GUI toolkit. There are configurable shortcuts foralmost everything, from inserting environments to handling tables and files.What you have is also a nicely documented set of menus and buttons, that help youformat and insert symbols, graphics, figures, environments into your documents.I’ve installed TeXStudio fromflatpak, the packagealready contains a LaTeX distribution to compile your documents, which is notincluded if you install TeXStudio manually on your system. Flatpak-edapplications also have their own advantages and downsides, but I will not focuson discussing them this time.
The downsides of TeXStudio are many. The first one is that it is configured ina single .ini
file, making it quite annoying to configure if not from thegraphical interface. This also makes it hard to sync TeXStudio settings acrossdifferent machines. The themes are not so great looking and the PDF viewer hassome noteworthy bugs. Another downside is that when you first level up fromdiscovering LaTeX, and begin to take lecture notes in the editor, the defaultkeyboard shortcuts are not friendly for sped up typing. The flatpak install isalso quite bulky (1.8 GB since it includes a full LaTeX compiler distribution).
Migrating to Visual Studio Code
If I have to write code or text for small projects, I use the amazingkakoune editor, if I’m working on big projects whereadvanced code linting, autocompletion and IDE features are needed Visual StudioCode is my editor of choice. The editor itselfis great. There is a good set ofavailable extensions that you can install with a click, it is relatively fastand it provides everything you may need for working with version control in yourrepositories. There is also support for external debuggers, a full-screen zenmode and it is configured with JSON files (more on configuration in the nextparagraphs). A noticeable downside is that it is written in Electron, and herewhy Electron is consideredharmful(but VSCode is still a great text editor).
For my LaTeX documents, I’ve migrated from TeXStudio to VSCode because I want touse a single text editor for all of my projects. You need to have a working LaTeXdistribution with the tlmgr
package manager to install the packages that youare going to include in your files.
Here are the extension and config files I’m using for TeX-ing in VSCode:
Extensions:
- LaTeX Workshop:An extension that boosts LaTeX typesetting efficiency with preview, compile,autocomplete, colorize, and more.
- Rewrap:Re-wraps comments and other text to a given line length.
- Settings Sync:Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings,Workspaces and Extensions Across Multiple Machines Using GitHub Gist.
- Todo Tree:Show a tree of comments containing
TODO
in your code project. Really helpful to get stuff done! - Prettify Symbols Mode:Displays identifiers & symbols using more aesthetically pleasing symbols.
- The Srcery color scheme
Writing Computer Architecture Notes in zen-mode VSCode:
Visual Studio Code Latex
Writing Probability Notes in zen-mode VSCode:
Configuration Files:
Here is my settings.json
file, with the most important section being prettifySymbolsMode.substitutions
.In that sections you can specify which identifiers are to be substituted by the“pretty” symbols by the Prettify Symbols Mode extension. When your cursorfalls on the prettified symbol, the “real” (ugly) text will be displayed. Thisis a really useful feature for writing LaTeX because you can replace an ugly command likealpha
with the human readable Unicode character counterpart α
in the sourcecode. This make editing mathematical formulas a lot more pleasing than, let’ssay, writing them in TeXStudio.My settings file contains LaTeX, Haskell and OCaml identifiers with their pretty substitutions.
Find the configuration files in this GithubGist.
Vscode Latex Setting
settings.json
Here are some useful snippets (LaTeX Workshop already has a ton of usefulsnippets!) that youcan use.
Visual Studio Latex Preview
latex.json
(Edit with Preferences: Configure User Snippets
)
Other valid alternatives
If you don’t like Visual Studio Code (for ethical or practical causes), or youuse another editor you can take a look at other great LaTeX plugins/writingenvironments:
- AUCTeX, an extensible package for writing andformatting TeX files in GNU Emacs. It is used by a lot of UNIX veteransequipped with ancient wizardry.
- If you need to do real time collaborations or you do not want to installadditional software on you machine,Overleaf isthe best choice. Albeit quite slow (because it resides in the browser), it isa fully fledged TeX editor that makes a good choice, especially for largecollaborative projects.
Huge Thanks to:
- Alessandro Berarduccifor introducing me to the world of LaTeX and TeXstudio
- loures for giving me useful advice on how toformat my notes.
- rei a powerful ancient wizard.