{"id":22901364,"url":"https://github.com/mooerslab/latextips","last_synced_at":"2025-06-10T12:35:39.899Z","repository":{"id":165234144,"uuid":"613131739","full_name":"MooersLab/latextips","owner":"MooersLab","description":"Tips for greater productivity with LaTeX","archived":false,"fork":false,"pushed_at":"2024-04-08T12:53:38.000Z","size":270,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T05:42:13.569Z","etag":null,"topics":["beamer","latex","overleaf","posters","productivity","slideshows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MooersLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-13T00:22:38.000Z","updated_at":"2024-03-13T08:41:36.000Z","dependencies_parsed_at":"2024-04-08T13:53:20.475Z","dependency_job_id":"b2af5e83-7c16-494d-8dbb-6d029f3042a1","html_url":"https://github.com/MooersLab/latextips","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Flatextips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Flatextips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Flatextips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Flatextips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MooersLab","download_url":"https://codeload.github.com/MooersLab/latextips/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Flatextips/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259076567,"owners_count":22801769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beamer","latex","overleaf","posters","productivity","slideshows"],"created_at":"2024-12-14T01:33:06.515Z","updated_at":"2025-06-10T12:35:39.834Z","avatar_url":"https://github.com/MooersLab.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![Version](https://img.shields.io/static/v1?label=latextips\u0026message=0.2\u0026color=brightcolor)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\n# Tips for greater productivity with LaTeX\n\nThis is a list of insights gleaned from a decade of using LaTeX.\nLaTeX is only for people who are patient, self-reliant, and willing to debug their tex file.\n\n\n## Why learn LaTeX?\n\n- LaTeX is available for free. It is painless to install with a package manager.\n- It has been around in its present form for about 35 years, so it will likely be around for another 35 years according to the [Lindy effect](https://wiki2.org/en/Lindy_effect).\n- The tex files are plain text and easily put under version control.\n- The tex files are tiny compared to a word processing document containing the same information.\n- Long tex files and the resulting PDF files are easy to scroll quickly; this is not the case for word processing documents.\n- The support for math type-setting is among the best.\n- The support for automatically generating tables of contents, bibliographies, indices, glossaries, and lists of figures, tables, code, and equations is robust.\n- You have exquisite and precise control over the output's appearance, largely through a vast library of packages. What you want to do has likely been done before, using a library that someone else developed.\n- The LaTeX markup is out of your way most of the time.\n- After you configure that preamble of the tex file to generate the features you want in a particular document, your work is done. You can reuse the preamble for the next several decades with only minor modifications as packages wax and wane.\n- You can also reuse LaTeX code in the form of code snippets. Thanks to tab triggers and mirrored tab stops, snippets can enhance your productivity in ways that are still impossible in word-processing documents.\n\n\n## Why not the alternatives to LaTeX\n\n- [Plain text](https://wiki2.org/en/Plain_text) Why not? It's simple. It is the place to start when breaking free from the grip of word processors.\n- [Markdown](https://wiki2.org/en/Markdown) (and all of its variants: even R Markdown and [bookdown](https://bookdown.org/)) are great for simple documents. The rendered PDFs are beautiful. It is a great starter language for working with markup documents. However, it does not support the automatic generation of indices.\n- [ReStructuredTexT](https://wiki2.org/en/ReStructuredText) may be the next step up in sophistication, but it was designed to help Python developers document their code. It does a good job of meeting that need, but it is also quite limited.\n- [Asciidoc](https://wiki2.org/en/AsciiDoc) is a step closer to LaTeX. However, it imports rendered PNG files of equations that look less sharp after inclusion in PDFs. It, too, fails to generate indices. If you export the document to [DocBook](https://docbook.org/), which uses XML, you can create an index.\n- [Org-mode](https://orgmode.org/) is a compelling markup language with added features for time and knowledge management. You can work in org mode all day. It is a very complete work environment. However, org files are translated to LaTeX upon export to PDF. Org recognizes most LaTeX markup. You must still learn some LaTeX to get the most out of document generation with org-mode. Here are some templates for a [generic manuscript](https://github.com/MooersLab/manuscriptInOrg) and a [writing log](https://github.com/MooersLab/writingLogTemplateInOrg) to keep track of your progress and plans for your writing project.\n- HTML is great for making web pages and generating documents. Knowing HTML is useful when you encounter the limitations of GitHub Markdown.\n\nI have experience with all of the above.\nI edit org-mode, markdown, plain text, and HTML almost daily and ReStructuredTexT once a year.\n\n## Start with Overleaf\n\n[Overleaf](https://en.wikipedia.org/wiki/Overleaf) was created by two mathematicians and is run by PhDs in science.\nIt is based in England.\n\n\n[Overleaf.com](https://www.overleaf.com/) provides free accounts.\nI used a free account for about a year.\nThen I wanted to do collaborative writing and needed more disk space for larger book projects with bulky image files.\nI then bought a license.\n\nThe [documentation about LaTeX](https://www.overleaf.com/learn) on the Overleaf website is excellent.\nIt is the first place you should go to when starting out.\n\nEach of your writing projects will be accessible from your multiple devices.\nEach writing project is listed on the landing page for your account.\nEach writing project has a unique URL that you can use to directly access the writing project from a browser bookmark, an index.html file, inside an IThoughtsX mindmap, or in an org file.\n\nOverleaf's built-in support for debugging is exquisite.\nIts support for debugging was one of the winning features for me.\n\nOverleaf compiles your document to PDF very quickly and painlessly.\nOccasionally, the error messages need to supply more information.\nIn this situation, inspect the output.aux for leads to the source of the errors \n\n## Use version control\n\nEach Overleaf project has its own git repository.\nYou can `git clone` your Overleaf project to your local computer.\nDo not get the two versions out of synch while writing or editing.\n\nYou can also `git clone` your project from Overleaf to GitHub, but GitHub will charge you for this privilege.\nIf you have a private academic account, you can clone it from your computer to that account.\n\n\n## Use the browser bookmark bar to fast access\n\nThe URL of the Overleaf writing project can be added to the browser toolbar for rapid access to the writing project.\n\n## Start with simple projects\n\nThere is not much in the way of coding to learn for writing the heart of a LaTeX document between the `\\begin{document}` and `\\end{document}` tags.\nThe trouble comes when you extend LaTeX by importing packages via the document's preamble.\n\n## Start with a simple manuscript format\n\nInitially, avoid using the complex template documents for journal articles on Overleaf or the publisher's websites.\nYou can submit a plain [double-spaced manuscript document](https://github.com/MooersLab/manuscriptInLaTeX) on the first submission for any journal.\nYou can save time on complex configurations for the first submission.\nYou may have to send the manuscript to a different journal that requires a different template.\nIt took me way too long to figure out this time-saving approach.\n\n## Write one sentence per line\n\nThis writing style eases version control with git (Version control with git is impossible with Word documents).\nThis format of writing also eases the shuffling of sentences during rewriting.\nThese two reasons alone are sufficient to use this unconventional writing format.\nYou quickly adapt to reading text in this format.\nThis format might be easier to comprehend because each complete thought is on a separate line.\n\nThe [twautex](https://github.com/jeeger/twauctex) package in Emacs eases writing one sentence per line.\nIt is not in MELPA yet.\nYou have to install it manually.\n\n## Global.bib: skip the synching\n\nYou can synch your global.bin file to your Overleaf writing project by storing it on Google Drive or DropBox.\nI spent a lot of time on this and found it to be too complicated for my workflow.\nOne weakness is the need for continuous synching with Dropbox or Google Drive.\nI find it easier to upload a new version of the global.bib file to the Overleaf project as needed.\n\n\n## Consider using JabRef to manage a global.bib file\n\nAlthough various text editors have packages for managing BibTeX library files, I am using JabRef.\n[JabRef.app](https://www.jabref.org/) is a free, open-source Java-based stand-alone application for managing and searching your BibTeX library file.\nJabRep has tools for finding duplicate and damaged entries.\nA JabRef plugin for web browsers is available.\nIt will send the BibTeX for an article to JabRef and download, relabel, and store the associated PDF in a folder of your choice when the current webpage is for an article on PubMed, Arvix, or a journal website.\n\nI have JabRef configured to relabel the PDF with the citekey.\nMy citekey format is `FirstAuthorLastNameYearTitle'.\nThe citekey has no dashes, underscores, or whitespaces.\nThe latter is a pain to work with on Unix-like systems.\nThe title is in Camel case or Pascal case.\nYou quickly get used to reading CamelCase.\n\nWhen manually adding the BibTeX info to JabRef, I click the generate-key button in JabRef to autogenerate the citekey for an entry.\nI store all the BibTeX entries in one global.bib file.\nIt has over 8400 entries and is automatically backed up.\nIts size is not an issue in JabRef, Overleaf, or Emacs.\n\nA similar automated PDF retrieval and relabeling system is available through Professor John Kitchin's [org-ref](https://github.com/jkitchin/org-ref) package for org-mode in Emacs.\nThis functionality is unavailable in Emacs for LaTeX-mode, hence my workaround solution with JabRef.\n\n## Writing math equations\n\nOverleaf does not support code snippets.\nEmacs's [yasnippet](https://github.com/joaotavora/yasnippet) package eases the creation of snippets.\nSnippets and especially the [LaTeX-auto-acitvating-snippets package](https://github.com/tecosaur/LaTeX-auto-activating-snippets) can ease the writing of equations.\nThe Swedish mathematician Mark Olson provides an [awesome demo](https://www.youtube.com/watch?v=5cGsiRtBK9I) of these features in a short video.\n\nOverleaf is not the best environment for writing a lot of equations.\nIf snippets in Emacs are too overwhelming, use the GUI-driven equation editor in [LyX](https://www.lyx.org/) or use the free stand-a-lone [LaTeXiT.app](https://www.chachatelier.fr/latexit/) to typeset the math equations and paste the final code into your LaTeX document.\nLaTeXiT enables you to store the equations in a library.\nYou can name the equations and add comments to them.\nThe library supports folders for organizing the equations into groups.\nThe library or a subset of it can be exported to a tex file.\n\n## Text editors for LaTeX\n\nEmacs has great support for writing in LaTeX.\nFor me, Vim was the penultimate editor, but Emacs is the ultimate one.\nThere is no more advanced editor.\nEmacs is at the end of the text editor learning spiral.\n\n## Know your math environments\n\nOne motivation for developing TeX (which evolved into LaTeX) was to provide better support for typesetting math equations.\nThere are numerous [equation environments](https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics#Other_environments).\nYou should study them from time to time.\nThe LaTeX Wikibook is a good [resource](https://en.wikibooks.org/wiki/LaTeX).\nSomeday, I should read these two books.\n\n```latex\n@Book{Gratzer2013MathIntoLaTeXASimpleGuideToTypesettingMathUsingAMSLaTeX,\n\ttitle = {Math into LaTeX: A Simple Guide to Typesetting Math Using AMS-LaTeX},\n\tpublisher = {Springer Science \\\u0026 Business Media},\n\tyear = {2013},\n\tauthor = {Gr{\\\"a}tzer, George}\n}\n\n@Book{Graetzer2016MoreMathIntoLaTeXFifthEd,\n\tauthor = {Gr{\\\"a}tzer, George},\n\tpublisher = {Springer},\n\ttitle = {More math into \\LaTeX},\n\tyear = {2016},\n\tedition = {Fifth Edition},\n\tbooktitle = {More Math Into \\LaTeX}\n}\n```\n\nAs you may know, MathJax renders in web pages equations written in LaTeX.\nYou can left-click on the equation in the web page to see the tex code.\nYou can then copy and paste this code into a tex file and then use this code as a template.  \n\n## How to deal with URLs that bleed into the right margin\n\nWeb addresses or URLs are frequently used to refer to resources on the World Wide Web.\nURLs are useful to display because they can evolve.\nKnowledge of an outdated URL can aid in the discovery of the current URL.\nHowever, LaTeX does not know how to line-wrap URLs, so they can project into the right margin if they are long.\n\nTo address this problem, I put URLs in footnotes at the bottom of the page where they are out of the way.\nI use the command `\\footnote{\\url{ }}`.\nI have put this in a yasnippet snippet called *furl*.\n\n```elisp\n# contributor: Blaine Mooers bmooers1@gmail.com\n# key: furl\n# group: urls\n# name: Send a url to a footnote.\n# --\n\\footnote{\\url{${1:http}}}.\n$0\n```\n\nI copy the URL of interest to the clipboard.\nThen, at the end of the sentence, I enter *furl* and Control-o.\nI had mapped C-o to the yasnippet command for inserting a snippet; this is equivalent to using a tab with a tab trigger.\nI did this to avoid conflicts with the use of TAB for tab completion elsewhere in Emacs.\n\nThen the code in the snippet appears.\nI paste the URL on the placeholder `http` and then hit the tab.\nThe cursor moves out of the braces and over the period to the start of the next sentence on a new line.\nLaTeX automatically handles the generation of the footnote number and its placement in the footer of the page.\nIf the footnote bleeds into the right margin, you can remove the enclosed \\url{} because, with this removed, \\footnote can line wrap the URL.\nOf course, in this state, the URL will not be a hyperlink to the website.\n\n\n## Multipart documents\n\nI can compile to PDF at a book with 1000 pages assembled from 400 individual documents, a table of contents, a bibliography, and an index in about a minute on Overleaf.com.\nThe same operation takes several minutes on my local computer.\nA template for a daily logbook or diary for 2023 can be found [here](https://github.com/MooersLab/diary2023inLaTeX).\nIt has one tex file for each day of the year.\n\n### main.tex for books\n\nBooks are best assembled from multiple documents, with one document per chapter.\nThis modularization eases the shuffling of the order of the chapters and the addition of new chapters.\nIt is super easy to shift lines of text up and down in Emacs.\nThis is done without using the mouse to make selections and copying and pasting to change the order.\n\nMultipart documents require a *main.tex* file that I store at the top level of the project directory.\nI use it to source a *0AAAcontents.tex* file (which has the *input* or *include* commands for importing the individual files for each chapter and appendix) and a mybookPreamble.tex that contains my preamble for books.\nThis modularization of the main.tex file has greatly eased debugging.\n\nI frequently edit the *0AAAcontents.tex* file as I add chapters and appendices.\nI named this file *0AAAcontents.tex* so that it appears at the top of the list of files in a `./Contents` folder where I store the chapter files and all other input files for the book.\nI store the figures, code listings, and appendices in subfolders of `./Contents` to reduce the clutter.\nI start the filename of chapters with `Ch` to distinguish them from other types of files.\nI do not include chapter numbers in the filename of the chapter because their absolute position shifts over time.\nI use the order of listing the *\\include* commands in the *0AAAcontents.tex* file to automatically handle the numbering of the chapters.\n\nThe path to the main.tex file has to be included on the top line of each component file on Overleaf: `%!TEX root = ../main.tex` for Chapter files and `%!TEX root =  ../../main.tex` for the appendix files that are stored in the folder `./Contents/appendices`.\nThe percent sign is LaTeX's comment mark, so its presence in the first column of the first line is counterintuitive.\n\nSimilarly, four lines of code have to be at the end of each tex file for compiling by Emacs.\nThe code below works with the default LaTeX mode.\nAlter the code when working with the Auctex package in Emacs rather than the built-in latex-mode package.\nSome other editors, like TextMate, require similar metadata to find the master main.tex file.\nThe code at the top of the file for Overleaf and the code at the bottom of the file for Emacs can be present in the same file because they do not interfere with each other.\n\n```latex\n%%% Local Variables: ***\n%%% mode:latex ***\n%%% tex-main-file: \"../main.tex\"  ***\n%%% End: ***\n```\n\nA useful template for a book chapter follows:\n\n\n```latex\n%!TEX root = ../main.tex\n\n\\chapter{XXXX}\n\\chaptermark{XXXX}\n\\index{XXXX!YYY}\n\n\\section{Introduction}\n\n\n\\section{Topic 1}\n\\index{Topic 1}\n\n\n\n\\section{Summary}\n\n\n%%% Local Variables: ***\n%%% mode:latex ***\n%%% tex-main-file: \"../main.tex\"  ***\n%%% End: ***\n```\n\nThis template is made into a yasnippet snippet for Emacs as shown below.\nThe $1 tab trigger is mirrored, so whatever you enter at the first site is propagated to the other sites.\nThis saves time.\nThe snippet includes in a comment some basic Emacs commands that I use when in LaTeX mode.\n\n```latex\n# -*- mode: snippet -*-\n# name: A generic chapter\n# contributor: Blaine Mooers bmooers1@gmail.com\n# group: Template document\n# key: ch\n# --\n%!TEX root = ../main.tex\n\n\\chapter{${1:LBSF report}}\n\\chaptermark{$1}\n\\index{$1}\n\n% Emacs shortcuts in tex-mode\n% C-c c-a to render as PDF and open in Skim.app (does not work with atomic-chrome)\n% C-c w to display the word count (does not work with atomic-chrome)\n% C-c C-w to write out to different filename\n% C-x C-s to save.\n% C-1 to close the current buffer.\n% C-c y i to open a pop-up menu for selecting a snippet.\n% C-c y for a hydra for yasnippets (Hydras are very cool! They save time. Learn about them.)\n% Fn F1 to invoke a hydra for magic: mc for commit and mp for the push. Yes, use git inside an Emacs buffer that has opened a file under git version control.\n\n\n\\section*{Introduction}\n$2\n\n\\section{Topic 1}\n\\index{Topic 1}\n$3\n\n\n\\section{Summary}\n\n\n%%% Local Variables: ***\n%%% mode:latex ***\n%%% tex-main-file: \"../main.tex\"  ***\n%%% End: ***\n\n```\n\nMagit is the Emacs package that enables running git from inside Emacs.\nThe magit hydra came from this post on Emacs stackexchange [post](https://emacs.stackexchange.com/questions/21597/using-magit-for-the-most-basic-add-commit-push).\nI have pasted it below for completeness.\nHydras display a temporary menu to guide your selection of commands.\nI regret not learning about them sooner.\n\n\n```elisp\n(defhydra yt-hydra/help (:color blue :hint nil)\n  \"\n_mp_ magit-push #_mc_ magit-commit #_md_ magit diff #_mla_ magit diff #_mla_ magit status\n\"\n  ;;Magit part\n  (\"mp\" magit-push)\n  (\"mc\" magit-commit)\n  (\"md\" magit-diff)\n  (\"mla\" magit-log-all)\n  (\"ms\" magit-status)\n  )\n(global-set-key (kbd \"\u003cf1\u003e\") 'yt-hydra/help/body)\n\n```\n\nThe hydra for yasnippets is below:\n\n```elisp\n;; A cool hydra for finding snippets at point. Invoke wit C-c y.\n(use-package hydra\n  :defer 2\n  :bind (\"C-c y\" . hydra-yasnippet/body))\n\n(defhydra hydra-yasnippet (:color blue)\n  \"\n  ^\n  ^YASnippet^          ^Do^\n  ^─────────^──────────^──^────────\n  _q_ quit             _i_ insert\n  ^^                   _m_ mode\n  ^^                   _n_ new\n  ^^                   ^^\n  \"\n  (\"q\" nil)\n  (\"i\" yas-insert-snippet)\n  (\"m\" yas-minor-mode)\n  (\"n\" yas-new-snippet))\n```\n\nMy current Emacs configuration file can be downloaded from [here](https://github.com/MooersLab/emacs30venturatreesitterconfig).\nOlder variants can be found elsewhere in my collection of GitHub repos.\n\n\n## Reference all labels\n\nLabels are anchors for hyperlinks in the compiled PDF.\nThey are often added to figures, tables, equations, and code listings and then referred to from the text.\nWhen reusing LaTeX code, it is too easy to propagate the same label and fail to add the reference to it.\nEach label must be unique and referenced.\nIt is best to think of labels and references as being inseparable pairs.\nOtherwise, you will spend much time dealing with labels that lack references during debugging.\n\n## Add index keys as you write\n\nThe index entries are hyperlinked to the index keys in the final PDF.\nIt is all too easy to forget to add index keys.\nHowever, they easily find information in the document.\nIt is best to add the index keys as you assemble the document to use them as you work on the project.\nThe keys serve as anchors to hyperlinks to them in the index.\n\nThe Acrobat Reader search function can lead to too many hits and is a poor substitute for using index keys.\n\n\n## Use keybindings\n\nOverleaf has standard CUA, Vim, and Emacs keybindings available.\nYou set the keybinding via the menu in the upper left-hand corner of the Overleaf webpage for a particular project.\nThe keybindings can be selected on a per-project basis.\n\n## Image format\n\nUse PNG files or PDFs for image files.\nOne drawback to Overleaf is that you cannot use postscript, EPS, or TIFF files.\nYou can take a snapshot of images in these formats and save them as PNG files for uploading to Overleaf.\nYou can also convert all the TIFF files in a folder to PNG files with the command `mogrify—format png *-Copy.tif`. \nThe command line utility mogrify is installed with the imagemagick suite.\nYou can use PDFs, but unlike with PNG files, you will not get a preview of the image file on Overleaf.\nYou have to wait for the document to be compiled by Overleaf to see an included image from a PDF.\n\n## Indices\n\nLaTeX will autogenerate the table of contents, indices, bibliographies, glossaries, acronym lists, lists of figures, lists of tables, list of computer code listings, and lists of equations.\nThe last four lists require the use of captions that appear in the lists.\nCaptions require the use of a subset of environments that are known as floats.\nI defined a *code* environment that encloses the minted environment for code listings and an *eqc* environment that does likewise for equations.\nThese custom float environments allow using captions with code listings and math expressions.\n\nComputer RAM limits may block the generation of all of these indices.\nYou may have to drop several of them or find more RAM.\nIf you are using Overleaf, you can contact their tech support for help with this issue.\n\n## Epigraphs\n\nThe epigraph package supports the insertion of epigraphs below the chapter title in a book.\nI store quotes in a master epigraphs.tex file in one project.\nI copy this file to other projects.\n\nIt takes a long time to gather good quotes.\nI gather quotes over the years and call upon them when needed.\nLaTeX automatically handles the formatting of the epigraph.\n\n## Tables\n\nTables are a great strength of Markdown and org-mode because they are trivial to assemble.\nIn org mode, tables can do by-row and by-column computations like a spreadsheet.\n\nIn contrast, tables can be a pain to assemble in Emacs, unless you use a snippet for a table with a fixed number of rows and columns.\nMy collection of [LaTeX snippets](https://github.com/MooersLab/snippet-latex-mode) has several table templates.\nThere are also [web-tools](https://www.tablesgenerator.com/) that ease generating a template for a LaTeX table.\n\nLaTeX can handle wide landscape orientation tables and long tables span multiple pages.\n\nYou can spend a lot of time configuring tables.\nBeware that the publisher may not support fancy tables, so it is best to keep the table's format as simple as possible.\n\n\n## Beamer package\n\nThe beamer package is used to assemble slideshows via LaTeX.\nYou can print notes with the slides for handouts.\nIt is easy to recycle a beamer slideshow when making a new one.\nIn my experience, assembling a slideshow in Beamer is faster than in PowerPoint because I can let LaTeX handle the positioning of figures and text.\nThis reduces the tedious use of the computer mouse to resize and position images, titles, and text boxes.\n\n### Code listings in beamer slideshows\nCode listings in beamer slides were tricky because the minted environments cannot be used directly, but once you figure it out, you can use the beamer slide as a template.\nAn example slideshow with code listings is found [here](https://github.com/MooersLab/slideshowTemplateLaTeX).\n\n### Notes for each slide\n\nEach slide is in a frame environment in a beamer tex file.\nYou can put whatever you want outside the frame environments.\nI add the note environment for writing out the text of my talk.\nThis note environment can accommodate math expressions.\nThese notes can be printed out with the slides scaled down for handouts.\n\n### Outline of the talk\n\nAdd a section key above each frame environment in the beamer file.\nThese will not interfere with compiling the beamer file, but they appear as an outline in the lower left corner of the webpage in Overleaf.\nThis outline can be navigated quickly to a distant frame in the slideshow.\nThis outline is helpful in organizing the order of the slides during the assembly of the slideshow.\n\n### Movies are possible\n\nSeveral latex packages support the use of animations.\nEach frame of the animation has to be uploaded.\nThis a pain because of the large number of files involved, so I avoid animations.\n\n### Hide the evidence that you are using beamer\n\nSlides for five of my six courses and all my platform talks are in LaTeX.\nI hide the icons that typify a beamer slideshow.\nMost people think that I assembled my slides in PowerPoint.\n\n## Posters via beamer\n\nYou can also assemble a poster in LaTeX by using one giant beamer slide.\nI do cheat by using a giant PowerPoint to assemble the images. \nI export the PowerPoint slide as a PDF and import this into the top 4/5 of the beamer poster.\nI place all text below this image in the bottom 1/5 of the poster.\n\nMost posters have too much text. \nNobody reads most of the text on most posters because there is too much text and it is too hard to concentrate in the roar of a poster session.\nThe text largely fails to ever serve its intended role.\nThe results, such as images, plots, and tables, are more important.\nThe poster is not a scientific paper; it is just a prop for a conversation.\n\nThe scientific paper has been around for 500 years.\nThe scientific poster has been around for 50 years.\nThis role of poster sessions was generated in response to a sudden glut of graduate students in the late 1960s and early 1970s in the United States. \nThe sponsoring of poster sessions is now driven by tradition rather than a real need in this day and age of giant convention centers and virtual meetings that have few space constraints.\n\n## Conclusions\n\nLaTeX meets most of my writing needs.\nFurthermore, LaTeX supports my pursuit of the [FAIR](https://www.go-fair.org/fair-principles/) principles.\nI retain word processors on my computer to collaborate with colleagues who do not know LaTeX.\n\n## Related projects of possible interest\n\n- [LaTeX manuscript template](https://github.com/MooersLab/manuscriptInLaTeX/edit/main/README.md)\n- [Writing log template](https://github.com/MooersLab/writingLogTemplate)\n- [Slideshow Template](https://github.com/MooersLab/slideshowTemplateLaTeX)\n- [Diary for 2022 in LaTeX](https://github.com/MooersLab/diary2022inLaTeX)\n- [Diary for 2023 in LaTeX](https://github.com/MooersLab/diary2023inLaTeX)\n- [latex-emacs profile](https://github.com/MooersLab/latex-emacs)\n- [snippets for latex-mode in Emacs](https://github.com/MooersLab/snippet-latex-mode)\n- [Quizzes about Emacs to improve recall of keybindings](https://github.com/MooersLab/qemacs)\n- [Slides from talk about LaTeX in Emacs at the Berlin Emacs Meetup Aug 31, 2022](https://github.com/MooersLab/BerlinEmacsAugust2022)\n- [Slides from talk about GhostText, Data Science Workshop, July 2022](https://github.com/MooersLab/DSW22ghosttext)\n- [Video link to talk about GhostText, Data Science Workshop, July 2022](https://mediasite.ouhsc.edu/Mediasite/Channel/python/watch/4da0872f028c4255ae12935655e911321d)\n- [The writer's law](https://github.com/MooersLab/thewriterslaw)\n\n## Version History\n\n|Version      | Changes                                               | Date            |\n|:-----------:|:-----------------------------------------------------:|:---------------:|\n| Version 0.2 | Added Update table to README.md                       | 2024 April 8    |\n\n## Sources of Funding\n\n- NIH: R01 CA242845\n- NIH: R01 AI088011\n- NIH: P30 CA225520 (PI: R. Mannel)\n- NIH P20GM103640 and P30GM145423 (PI: A. West\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooerslab%2Flatextips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooerslab%2Flatextips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooerslab%2Flatextips/lists"}