My LaTeX Workflow
Now that you know the basics of using LaTeX, the fun part is developing a workflow that fits your needs and way of writing. In this section I'll show you the workflow that I've developed for myself when writing and using LaTeX (mostly during my Ph.D). While I'm not implying that these are best practices, they have served me well, even when collaborating with others.
Disclaimer: I use KDE Neon, a sort of Linux distribution1 based on Ubuntu. While I'm sure the workflow could be adapted to other systems, I make no attempt at it. Take this as a simple description of what works for me and how I structure my writing.
Toolchain
The tools that I most use when preparing LaTeX documents are:
- Overleaf as WEB editor: mainly used for its collaborative features. Overleaf makes it easy to share LaTeX documents, track changes and comments, etc.
- Tex Studio as my main, local, LaTeX editor. Tex Studio is a very feature rich editor that I use often. To keep my local and Overleaf documents in sync I use
- Overleaf's Git integrations. With Overleaf you can not only sync with your own git repo hosted at GitHub, but it also creates its own, remote, git repo that you can use. This way I keep all my documents in sync, even when offline, and collaboratively working with other people.
- Zotero as reference manager. Open-source and feature rich, Zotero easily integrates with Overleaf and Tex Studio to give me all the flexibility that I require.
File structure

I like to keep my .tex files clean and simple. That's why I'm an avid user of the \input command. Regardless of the template I'm using, my main tex file usually only stores the document configuration: preamble, high level document structure and bibliography setup. My most common exception to this is me keeping the abstract in this file. This is because some templates will complain if its someplace else...
You can see a real example of my most recent main.tex file:
\documentclass[11pt]{article}
\usepackage{url}
\usepackage[inline]{enumitem}
\usepackage{todonotes}
\usepackage{easyReview}
\usepackage{natbib}
\begin{document}
\title{Twin \textit{enabled} Digital Industrial Platforms: Digital Twin as Architectural Core for Digital Platforms for Industrial Environments}
\author{Henrique Diogo Silva\inst{1,2} \and
António Lucas Soares\inst{1,2}}
\institute{INESC TEC, Porto, Portugal %\\and
\email{\{henrique.d.silva,antonio.l.soares\}@inesctec.pt}\\\and
University of Porto, Porto, Portugal}
\maketitle
\begin{abstract}
...
\end{abstract}
\input{Content/00-Intro}
\input{Content/01-DT-Enabled-Platform}
\input{Content/02-Arch-Design}
\input{Content/03-InterOrganizational-Marketplace}
\input{Content/04-BISE}
\input{Content/99-Conclusion}
\bibliographystyle{splncs04}
\bibliography{biblio}
\end{document}
And that's it! Some changes are always required to fit the template that I'm using at the time, but these are minimal and don't impact the content of the document.
The content, as you can see, is kept in separate .tex files that I store in the Content directory. Each file denotes a section/chapter, that I append a number to to maintain the sort order in Overleaf. 00-Intro always comes first, 99-Conclusion is last.
Here's an example of a simple .tex file with some content:
\section{A Digital Twin Enabled Platform Ecosystem}
\label{sec:DTPlatform}
From \citep{wheelwrightCreatingProjectPlans1992}, one of the first authors to specifically refer to platforms as systems that attempt to target the needs of core groups of customers designed for easy modification, to \citep{gawer2014} that introduces the idea of platforms as evolving meta-organizations with agency, the concept of DP has evolved significantly over the years.
(...)
\subsection{A Twin \textit{enabled} Digital Industrial Platform}
Drawing from the discussion above, our vision for a twin enabled digital industrial platform (T\textit{e}DIP) rests on the idea that digital twin technologies are a core architectural element of digital platform supporting industrial ecosystems. By
\begin{enumerate*}[label=(\roman*)]
\item aggregating (physical and virtual) assets data and services;
\item facilitating the development and governance of industrial ecosystems;
\item enabling inter and intra-organizational data and knowledge sharing; and
\item serving as technical infrastructure to new product-services systems that can have facilitated access to this data and ecosystem,
\end{enumerate*}
T\textit{e}DIP further extends the continuum between physical and virtual
worlds, provided by the digital twin technologies, to encompass the organisational and business reality.
-
KDE Neon is really not a distribution and more of a set of repos by the KDE team, but it just makes the explanation easier. ↩