Why WorkFlowy and Latex make the perfect partnership for Academic Writing.


I have just handed in my thesis. Yes, it was tough, but not as tough as it could have been. Why? Mostly because of a little web app called WorkFlowy which isn’t supposed to be for writing at all, let alone for a piece of writing as big and formal as a doctoral thesis. But it works. By god, it works. This post is firstly going to try convince you to adopt a combination of WorkFlowy and Latex for your academic writing, and then guide you through setting them both up with tips, tricks, add-ons and advice galore. This is going to be a long post, and is not necessarily devised to be read in order. Below is a table of contents to give you an idea of the layout. If you know nothing about WorkFlowy or Latex, I do suggest you start from the beginning. If you use both of these but want to know more about the best way to integrate them and use them to write a thesis, just skip to any section that grabs your attention. Throughout the post there will also be links to shared WorkFlowy lists and one particularly important one containing a load of Latex code and tips, so look out for those.

Here’s what’s to come:

  • The Power of WorkFlowy
  • Latex
  • WorkFlowy – Latex’s Best Friend
  • Writing Academic Papers in WorkFlowy
    • Tagging
  • Writing Latex in WorkFlowy
    • Phrase Express
    • Keeping your .bib file in WorkFlowy, a drop down list of references and citing papers
    • Miscellaneous tips
  • Comments, thoughts, ideas …
  • Keyboard shortcuts, Navigating and Bookmarks
  • When you are struggling
  • Compiling
  • Conclusion

The Power of WorkFlowy
WorkFlowy is an ‘outliner’, and it is at first sight a simple-looking program. When you first open a WorkFlowy account you are pretty much just presented with a single bullet point, like below, which can be a bit ‘Err, OK’.

Figure 1. The Humble Beginnings of your grand WorkFlowy document.

But this reductionism is in fact WorkFlowy’s greatest strength. Hidden behind this simplicity, it has a few core features that combine to make it a phenomenally powerful tool for a surprisingly vast range of activities:

  • Every ‘item’ in WorkFlowy is either a bullet point or a note attached to that bullet point. Bullet points are therefore simultaneously content and ‘folders’ for other bullet points.
  • You can nest bullet points within other bullet points to infinite levels (see below)
  • Figure 2. A Basic WorkFlowy Structure. It’s bullet points all the way down.

The best advert I can give is for you to just try it out yourself. Here is a link to a ‘shared’ list on my account which you can play around with. It is a ‘demo’ list so it will revert back to its original form the next time you click on it (or anyone else does), so feel free to go wild.


Link 1. A demo WorkFlowy list to play around with.

  • You can ‘zoom in’ to bullet points by clicking on them to make that bullet point the ‘header’ and everything nested under it the only content on the screen – you can keeping zooming in as deeply as you like. When zoomed in you can see the ‘breadcrumb’ navigation at the top showing all the ‘levels’ above your current. Click on any of these to return to those levels / zoom out. Alternatively, alt + left will zoom you out, and alt + right will zoom you in.

Figure 3. WorkFlowy, zoomed mode!

  • WorkFlowy has a full tagging system with intelligent search function and logical operators using # and @ tags.
  • It is entirely plain text with the sole exception of bold and italic functions and so extremely lightweight and fast.
  • It has a raft of keyboard shortcuts to help you get around at rapid speed.
  • You can customise almost everything. Because it is web-based and simple, add-ons are super easy to make, and there are a vast range of excellent third party CSS additions which add colour, functions and a load of extra features – as you have access to the CSS code these are easy to customise to your heart’s content. These provide further functionality while keeping your actual document lightweight. For example you can add colour, like below:

Figure 4. WorkFlowy, in technicolour!

There are endless debates on various blogs and forums about whether hierarchical (e.g. OneNote) or tag-based (e.g. Evernote – if you’re doing it right) structures are best for digital organisation. In truth (as always) they both have their strengths, and are useful in different circumstances. The ideal of course is to have both at your disposal when needed. With the invention of infinite zoomable bullets, WorkFlowy has in my opinion created the perfect hierarchical system (I may be wrong but I honestly don’t really see how it can be improved upon other than with further ease of navigation) – navigating around something like One Note after a few days with WorkFlowy is hell itself – the differentiations between ‘different levels’ like ‘Notebook’, ‘Page’, ‘Sub-page’ etc have come to seem to me so pointless, dated and even quaint. Why make the distinction? Just allow the user to decide. With its version of a tagging system WorkFlowy has some advantages and some disadvantages over Evernote’s approach, but overall the same power to completely construct almost any organisation system you want that tagging systems afford. If I could make an analogy, I would describe WorkFlowy as a ‘sandbox’ digital organizer. Just as Minecraft removes the constraints on how you ‘should’ play a computer game and encourages you to explore your own way of doing things, so too does WorkFlowy remove the constraints on how you should organize your life. Once you absorb WorkFlowy into your life, other programs come to feel horribly restrictive. After around a year of use I have slowly come to use it as calendar, project and task manager, journal, life logger, finance and budgeting tool, and yes, thesis writer. None of these things came as templates or anything like it, I have ‘built’ them myself (with a lot of help from the WorkFlowy blogger Frank Degenaar’s great book), There is no compromise here – I am very aware of the popular products for these functions and WorkFlowy surpasses all of them if only because of sheer customisability and of course perfect integration / a single search box for my entire life. But this post is about thesis writing – I do intend to detail my life organisation approach with WorkFlowy at some point but that will have to wait for a later post (I should probably do some science posts in between to maintain the charade of this as a science blog too!).

Now, pricing. WorkFlowy uses a freemium model, and the free version is absolutely fine to get a feel for the program and even for casual to medium usage. The main restriction on a free account is the number of items (bullet points) you can create per month: 250 with a basic free account, but, magically, 500, if you sign up via this link: https://workflowy.com/invite/3604d08c. This is actually less of a restriction for thesis writing than general task-type use, as you would tend to be making less, but longer (i.e. paragraphs) items, than a typical to do list for example. So I think you can definitely get a very good feel for everything in this post entirely for free. I suspect however, that once you get going with WorkFlowy, you will shortly be hooked, and the ~£5 a month for the level of life-organisation and peace of mind it provides.


Latex is of course much more well-known than WorkFlowy and is used throughout the world by academics to write their papers, so I am not going to spend much time introducing it. Basically, it is a relatively simple coding language for producing academic papers (and books etc.) It has a relatively steep learning curve (it’s really not that steep, but compared to a classic word processor…), which is presumably what puts some people off. However, not for you. Below is a WorkFlowy shared link with all the instructions you need to get set up with Latex, and all the snippets of code I (and therefore hopefully you) needed (/ will need) for your thesis or academic paper. This is a live and on-going list which I will also be sharing through other means, and as it says in that link, if there is anything academic-related you want to know (or perhaps even a tip you have that should be added) please let me know and I will endeavour to include it.


Link 2. A guide to using Latex (particularly but not exclusively with WorkFlowy).

WorkFlowy – Latex’s Best Friend

One thing a lot of people love about Latex is that you can write it in any text program – even in a .txt file. It is therefore lightweight (unlike Microsoft Word), unlikely to crash (unlike Microsoft Word) and it doesn’t intentionally format things like tables or figures in insane ways just to irritate you (I have a very healthy distaste for Microsoft Word). The other thing of course is that with all the packages out there (Latex is open source) you can format / layout a write up any way you like, with confidence, and, at the flick of a switch (function), have it formatted in a completely different way (say, for a different journal, or to transform a part of a thesis into a paper, as I am doing now). Now, there are some great Latex editors out there, like Tex Studio, which provide some nice features to help you write a big piece of work, such as a section navigation pane. However, none of them comes close to the power of WorkFlowy for helping you focus on exactly what you want, whether that is a single small section, full screen, with no distractions, or multiple sections from different parts of your report at the same time. And none of them has a full tagging structure to keep track of the state of every section of your work, or the ability to make endless notes on any section of work, or to have \subsubsubsubsubsubsubsubsubsubsubsubsections which don’t even have to show up in the final output, or allow you to see the structure of your document not only as an outline, but inherently, in the main body of the text, or to have keyboard shortcuts to take you back and forth between different sections, or the ability to edit perfectly well on a mobile device, without any fuss or worry. So. We are going to see how by combining WorkFlowy and Latex we can overcome the weakness of both (a lack of formal formatting capabilities in WorkFlowy’s case, and a lack of … well, WorkFlowy features, in Latex’s case) and harness each other’s strengths.

Writing Academic Papers in WorkFlowy

As I’ve said, WorkFlowy is an outliner: a set of nested bullet points. These nested bullets can be infinitely deep and each bullet point can also have an attached ‘note’ (shift + enter to edit the note of a bullet). When I write serious things with WorkFlowy the bullets become the section headings and the notes contain my prose. You can see a real example from my thesis below.

Figure 5. A depiction of a series of sections of my thesis.

Some might prefer to just use bullets and sub bullets for both section headings and content, and you could, but I find my approach easier for formatting (more freedom within a note), and simply for taking in the structure of my document visually at a glance (because bullets and notes look different). Now before you get writing in WorkFlowy you are going to need a few add-ons. To get started you need to install the ‘Stylish’ extension (available at the least for chrome, Firefox and Safari with a quick internet search) which allows you to make visual user-end modifications to web-pages. The first and perhaps most important of these for writing is an add-on that allows you to have all the notes attached to your bullets ‘open’ or ‘expanded’. This option is not a native feature of WorkFlowy unfortunately, but this add on works perfectly so do not worry. To get this add-on, once you have stylish installed, open WorkFlowy, click on the ‘Stylish’ button that has now appeared on your browser bar and click (right at the bottom) ‘Write Style for Workflowy.com.’ Copy and paste the below code in, give it a name (e.g. ‘Open All Notes’) and save.

div.notes div.content {display: block !important; height: auto !important; overflow: visible !important;}

Now click on the Stylish button again and there will be a check box with the name you used. You can choose to flick the ‘Open All Notes’ style on or off. Flick ‘Open All Notes’ off to get an overview of your document and for quicker navigation, or flick it back on to have a full-prose format (like in my thesis screenshot above). Don’t forget if you really want to focus on a specific section to use the ‘zoom’ functionality to make it full screen.


WorkFlowy has two types of tags, the @ tag, and the # tag. You can of course use them how you like – my preference is to use @ tags for structure e.g. @Thesis, @Chapter1, @Introduction, @Method and # tags to indicate the status of things such as #todo, #reviseddraft, #finaldraft # wip (work in progress, to allow you to easily move between sections of your document you are currently engaged with – kudos to Frank for this invention). This nice thing about maintaining a rigid distinction like this is that sometimes you want two tags called the same thing but with different functions. For example, you might want to use the @Introduction tag for structural searches, but you might also want to tag a note, comment or thought (see further down for more on this) with #introduction to bring all thoughts (wherever they are) about your introduction together with a search. When you come to write each day you can use your tags to decide what to work on. Finding sections that are marked #todo and zooming in on them is far less daunting and easy to get into first thing in the morning than a huge word document with no obvious place to start. It is tricks like these that help ease you into writing each day and curb procrastination. The advantage of having structure tags is firstly for speed of navigation but secondly that you can easily see all of a certain type of section, for example all the discussion sections (if you have multiple experiments) with a simple search, all in a single pane. If you have several experiments with their own small discussions, and then a general discussion, this can be a great way to see if they flow / if you have repeated yourself, etc. If there are certain unrelated sections of your document you want to see all at once, just make up a new unique tag on the spot – at one point I wanted to look at all the sections which were to do with #NestedSetsvsNatFreqs (don’t ask) – so I simply tagged them all with this then searched for that and bingo, there they all are, neat and organised. Things like this, which require so much effort in other programs are child’s play in WorkFlowy.

Writing Latex in Workflowy

Phrase Express

Now, I want to briefly introduce another application into the mix (and again thank Frank for the introduction to it). Phrase Express is one of many, but I believe a particularly good / easy to use, keyboard shortcut / macro program. It is perfectly functional in its free version and it’s up to you if you think you get enough value from it to support them (I certainly get enough). It is also extremely easy to use and can be incredibly powerful. One problem with writing in Latex is human error. If you write out all the code necessary for an entire thesis, there will be mistakes, a lot of them, and they can be hard to find (however, see the section in the Latex link on debugging). I recommend putting every single Latex command (yes even the simple ones) into Phrase Express. This not only allows you to access them with a keyboard shortcut (increasing speed for large things like figures), but also ensures you never, ever make a mistake. This will save you so much frustration at the end. Shift and alt and f provides me instantly with all the code needed for a figure. Shift and alt and 1 turns any selected text into a perfectly formatted chapter heading (and so on for shift and alt and 2, 3, 4, etc). Shift and alt and p opens up a parentheses citation (more on this shortly) and shift and alt and t, a text citation. It really is wonderful once you get it going. Here’s a link to the phrase express download page: http://www.phraseexpress.com/

Keeping your .bib file in WorkFlowy, a drop down list of references and citing papers.

The one thing that completely sold me on Latex was the citation management and the one thing some people might have raised an eyebrow at in leaving something like Tex Studio is the ability to open up a citation command and get a drop down list of all the papers in your .bib file. You are right that this is of course not an innate function of WorkFlowy and would be sorely missed. However, the exact same function can be achieved through @ tags, which also come with a drop down menu. I must confess to being quite excited right now: this is the best thing in this post. Firstly, I would wholly recommend using WorkFlowy as a place to keep your bibtex database, even if you didn’t use WorkFlowy for your writing at all. I recommend a setup like the image below.

Figure 6. My .bib file in WorkFlowy.

Use a blank bullet point, with the bibtex entry in the note. Of course, if you wanted to arrange your bibtex entries in some hierarchical format according to subject, this would be easy to achieve, and I probably haven’t explored everything you could do with this. However, right now we are going to take this to the next level. For each bibtex reference ‘code’ e.g. Turner2015, put a space and an @ tag in front of it (you need the space – see image above). So Turner2015 would just become @Turner2015. It has just become a tag. When you come to compile, Latex has no issue with either the space or the @ sign, so don’t worry about that. However, you now have two great new features. Firstly, you can search your .bib file in an instant with a drop down menu of codes from the search box (say, if there’s an error with a particular reference). Secondly, when you want to cite a paper from your .bib file in your document, when you type \citep{ @ a drop down list of tags appears, with all your .bib codes, just like in Tex Studio or similar. This admittedly only apes that same functionality, and doesn’t better it, but the ability to manage your actual database in WorkFlowy is far better I think than even the professional citation management systems can offer. You can utilise WorkFlowy’s hierarchical and full tagging system to sort entries by topic, you can easy add additional information such as links to the appropriate pdf or, perhaps, to your Evernote summary page on that paper (See my post on a system for using Evernote for academic literature reviews). When you want to export your .bib file it takes four clicks: alt and click on the title (copy all – alternatively click anywhere and press ctrl a twice), copy, open target .bib file, paste. Done.

Now, for actually citing papers while writing I have a set of phrase express macros which make life far easier.

First, to get a paranthetical cite just use ‘/citep[][]{ @’ without apostrophes and for one which gives the text cite ‘\citet{ @’. For these you literally just copy that text into phrase express and when you press the keyboard shortcut it will just spit out the text.

Then, I have one which tidies up the previous citation (removes the spaces) and adds another citation (if you are citing multiple authors), like this: \citep[][]{@Gigerenzer1996, @

This is a bit trickier. To get this working, copy the following into phrase express:  x{#CTRL {#LEFT -count 2}}{#LEFT -count 2}{#DEL}{#CTRL {#RIGHT -count 2}}{#DEL}{#BKSP}{#BKSP}, @

Then we have another macro that tidies up and closes a citation off (when you are finished citing), like this: \citep[][]{@Gigerenzer1995,@Macchi2000}

To get this working, copy the following into phrase express:  x{#CTRL {#LEFT -count 2}}{#LEFT -count 2}{#DEL}{#CTRL {#RIGHT -count 2}}{#DEL}{#BKSP}{#BKSP}}

I do recommend you explore Phrase Express. While the above may look complicated in written form this can all be achieved by using the drop down menus found in the ‘Macro’ menu – it can all be done through the far more friendly button-and-menu-based user interface rather than pasting ugly bits of code and really is quite easy to build your own macros through trial and error.

For those less familiar with what I am on about in this section, below you can see the before and after for both ‘paranthetical’ citations and ‘text’ citations below:



Miscellaneous tips

I would now like just to give a range of miscellaneous tips for writing with WorkFlowy and latex.

  • WorkFlowy is a web app, so you are perfectly able to have two instances of the web browser up, split screen, and further to have as many tabs open on those two browsers as you like. Too many can get confusing, but for serious writing I often find this extremely useful.
  • The % Sign. Get in to the habit of putting a % sign after every section title (it can even be part of your phraseexpress macro). That way, if you want to add tags after section titles, like #firstdraft these won’t show up in Latex and ruin your compile.
  • WorkFlowy has intelligent search functions. You can use the OR operator to good effect for debugging your latex document. For example the search { OR } will highlight ALL curly brackets, making it super easy to spot any opener without a closer.
  • Search & Replace (Chrome). For the eternally-useful ‘search and replace’ function, there is a great chrome app called exactly that here. However there is a little (admittedly slightly annoying) trick you need to know to use it with WorkFlowy:
    • Once you have done your replacing, you need to click in every note that you changed (not on every change, just in every note, so if you have multiple changes in one note, just 1 click), otherwise when you refresh the page, the changes will revert – annoying I know, but it’s a 30 second job really.
    • Pro Tip: To make this a bit easier, first search in WorkFlowy for the thing you are going to replace. This will bring up only the notes with them in. THEN do the search and replace thing, and you won’t have to scroll through your whole document looking for the notes you have to click in – with this additional step, it’s really not so bad. An added advantage is that even after replacing the words, they will remain highlighted until you click on them, so it is easy to see where to click.
  • The WorkFlowy app on both android and iphone is fantastic. You can do serious work in this app on the go, on your thesis, seriously (it can even be a nice mental change). This is a tiny bullet point in a large post, but this is no small benefit to using WorkFlowy – the ability to zoom in to the section you want to work on takes on even greater power on a small screen. No more scrolling through endless reams of tiny text and feeling overwhelmed before giving up and checking Facebook. Use a tag search to go straight to sections which are still in #firstdraft or #todo status, edit them on the go (editing is a task I often intentionally left for phone time as it doesn’t need too much typing), change them to #reviseddraft, move on to the next. There is no better irritation-free text editor on mobile than WorkFlowy, I guarantee you.
    • For more advanced computer-like functionality on iphone and android, check out the excellent third-party HandyFlowy app (no offline mode though and relatively data intensive).
  • Here are some more great add-ons:
    • The highlighter tool. WorkFlowy has no highlight function, but do not fear. To create your own, make a new stylish style and enter the below code. By the way, this code turns underline into a highlighter, so if you love underlining, you’ll have to make a choice. I suppose you could alter the code to make bold or italic a highlighter instead, but unless you’re unusual they are probably more often used than underline.
      • span.contentUnderline {     background-color: #FFFF00 !important;     text-decoration: none !important; }
    • Customisable coloured tags (code below, just copy and paste it in to a new stylish style). You can modify these to your hearts content. Just change the tag name in the code and choose the colour hex code (the #FFA500 thing). Just internet search for hex colour codes.
      • .contentTag[title*=”#firstdraft”] { color: #FFA500 !important; } .contentTag[title*=”#reviseddraft”] { color: #FFD700 !important; } .contentTag[title*=”#finaldraft”] { color: #00ff00 !important; } .contentTag[title*=”#comment”] { color: #FFD700 !important; } .contentTag[title*=”#todo”] { color: #FF0000 !important; }
    • Rawbytz and the WorkFlowy Count
      bookmarklet / add-on:
      • ‘Rawbytz’, another key figure in the WorkFlowy community, has created a range of extremely useful ‘bookmarklets’ / browser add-ons which add extra functionality to WorkFlowy: see his webpage for a full list here.
      • If you want to log how long you spend on your write up, you can add time tags such a #1h #50m, etc. – these need the third party app WorkFlowy Count (See Frank’s post on this bookmarklet here) to be recognised – but if you want, the feature is there. If you do a bit of work just quickly throw the amount of time you spent in the section header (after a % sign, remember), and at the end you can click on the bookmarklet and it will give a pop up window which instantly adds them all up – a voila – you can even see which sections took you the longest by zooming into that section before pressing the button.
    • Tag Index Bookmarklet / add-on:
      • Another one by Rawbytz. This gives you a paste-able list of all the tags in the current list. Handy if you’ve gone wild with tags and forgotten them all: See Frank’s post on this here.
    • Collaborating & Tracking Changes. WorkFlowy is an incredibly intriguing collaboration platform, and I am only just beginning to explore the potential of this. Hover over the bullet point of a list and go to share – give someone the link that pops up and they can view / edit the list live along with you. The best thing is they don’t even need to have a WorkFlowy account, so you don’t have to convince your supervisor or collaborator to sign up to WorkFlowy or install anything at all in order to check over / comment on your work.
      • Because WorkFlowy is such a DIY program, you need to devise a collaboration ‘system’ or ‘code’ yourself: for a very well-considered one which has been through considerable testing, check out Frank’s offering here.
      • Also check out Frank’s system for tracking changes here.
        • By the way, as with all of these add-ons, if Frank’s specific choice of bold-italic-underline combinations don’t work for you (personally, I found Frank’s to be a bit too complicated to ask a WorkFlowy-naive supervisor to do) – you can easily change the code to suit your needs. I have had some success with simply asking people to underline text they want to remove, italicise text they want to add and bold any in-line comments). As we use these very rarely in academic writing, there isn’t much issue around clashing with content you actually wanted bold etc. (other than headings but you can just ignore these).
          • If you do want to change the style for this add on just click on the stylish button and go to the edit button next to it. At the top of each block of text you will see somethings saying e.g. ‘span.contentUnderline.contentBold’. That means the formatting beneath will apply when text is both underlined and bold. Delete / change that to whatever you want such as just ‘span.contentBold’ – now the formatting changes beneath will apply to anything bold.
  • Placeholders. Tags are great if you need a placeholder as you can search for them later. Common examples when I was writing up were @figure, @table, @reference, etc. When I was thrashing something out and didn’t want to take the time to insert a figure, OR I wanted to refer to a figure or table but it didn’t exist to refer to yet, I used these. When I came to the point where I wanted to fill these in, I didn’t have to trawl through the whole document to try and spot them, but just had to carry out a simple search – and of course, I didn’t miss any.

Comments, thoughts, ideas …

While writing, one has many ideas which are not formal enough to include in the main text. There is no specific comment ‘function’ in WorkFlowy. However, what there is is better. Firstly, when writing in WorkFlowy I recommend breaking your document down into very small sections as a general rule – this makes it way easier to understand your structure, and when you really want to hash out a paragraph, being able to look only at this is just wonderful. Now, if you want to make a comment on the specific section you are working on, make another bullet point nested under it, start the bullet with a % so it will be ignored by any Latex compiler if you accidentally leave it in, use a tag like #comment and say what you need to say, then minimise it so it doesn’t get in the way during normal writing. Add any tags that make sense for you like #introduction #discussion if the thought relates to those sections. Avoid going overboard with tags as if you forget they exist, you can’t search for them and they serve no function. You can now easily search your document in an instant for every section which has outstanding comments. If you want to make inline comments, I firstly recommend you use the Coloured tags add on from the link above to give the #comment tag some colour that works for you (mine is yellow). Use the highlighter to highlight sections of the text which you want to refer to then either add a #comment nested bullet or in the body of the text add a comment and put your comment in between two square brackets (or whatever works for you of course). You might also want to highlight your comment, who knows. You can do the same thing with anything: a chunk of text from a pdf you think might be relevant, some scrap notes you wrote, just nest it under the relevant section and give it a #comment or #note or #todo tag, or whatever. If you have an idea about a different section, don’t bother navigating there – just tag it with #introduction or whatever and run a search for these later. Or, have a ‘thoughts’ section somewhere, with a keyboard shortcut (see below) to navigate there, then once you’re done, just press the back button on your browser to go back to exactly where you were.

Additional note, 01/12/16: I recently found a trick with comments in WorkFlowy which I thought I would add here. If you want to add the comment ‘this needs revision’, consider formatting it like this: #comment-this-needs-revision . The entire comment is now a single tag. Now, if you have configured stylish to make the #comment a certain colour, this will also be that colour, so the whole thing really pops out. Secondly, if you search for #comment, this and any others like it will show up in the search. Finally, if you want to get rid of the comment, you can hold down alt and left click on it with the mouse (alt and left click ‘explodes’ tags in WorkFlowy). So there you have it: searchable, coloured, one-click ‘explodable’ comments. The only downside is pressing – instead of space, but I don’t find this too bad personally.

Keyboard shortcuts, Navigating and Bookmarks

There are lots of extensions for every browser which allow you to assign keyboard shortcuts to bookmarks. One I use at the moment for chrome is called speed dial. What I like about this is it lets you have your bookmarks in a folder so keeps your bar neat. One very important and wonderful feature of WorkFlowy is that every bullet point has its own unique URL. When you have WorkFlowy open every word of your document is ‘loaded’ (even this doesn’t take long because it’s all just simple text). You can therefore type the URL of a bullet point (or list) into the address bar, press enter, and it will open instantaneously, without loading, even offline. This means that you can save WorkFlowy lists to your bookmarks bar, assign keyboard shortcuts and navigate back and forth between these different sections at the press of a button and without waiting for it to load – you can also re-assign these shortcuts extremely easily anytime you like. Even better, these bookmarks can be saved searches, so if you search for #comment, then bookmark the URL, every time you click that URL it will run that search from the same place you ran it when you bookmarked, not from your current location. This is a wonderful thing. I recommend for example a bookmark which displays the major sections of your document (this might be a search from the ‘top level’ of your document for “@Introduction OR @Method OR @Results OR @Discussion”. This will make it extremely easy for you to navigate to a new section whenever you like. A “#comment OR #todo OR #firstdraft” search from the top level might also be a good idea for when you want to know what to do next. Another nice search is the lastchanged:1 search. This shows every bullet you have altered in the last minute. The 1 can be changed to a different number and you can even use 1h or 1d etc to search for hours and days.

When you are struggling

When I am struggling with writing a section, the best approach for me (and I think for many others) is to break it down – and at breaking a section of text down to help you understand it’s structure, all programs bow to WorkFlowy. Just cut-and-paste (by the way if you ever use the mouse to cut, copy and paste, stop it right now and learn ctrl + x, ctrl + c, and ctrl + v) to break it up into smaller and smaller bullet-point-headed sections until you have a grasp on the argument being made. Use the actual bullet point to summarize each paragraph and the note to contain the actual text. A useful guide I teach my students is to use a single sentence to summarise a paragraph (write this sentence in the bullet point). Now, just read the bullet point sentences and you will be able to tell far more easily if the argument you’ve made makes sense, flows effectively, or where the logical flaws are, than if you tried to read the whole section in full. Maybe you need to delete a whole section. A neat way to do this without losing the section is to use ctrl + enter which in WorkFlowy ‘completes’ the bullet point. Use ctrl + o to toggle whether completed sections are visible or invisible. If you turn it to invisible you can ‘try’ deleting a section and easily bring it back if you regret it. Maybe you need to reorganize. Dragging different sections around by clicking and holding on the bullet point makes this child’s play. Maybe you need to tag different paragraphs according to how vital they are to the argument being made / how well written they are. It is times like this that I think WorkFlowy shows its greatest power. It makes the frustrating enjoyable, and the difficult easy. It makes writing fun.


Compiling from WorkFlowy is as easy as two copy + pastes. Open up your entire document (I recommend including every single word in WorkFlowy including the whole pre-amble, /begin{document}, etc.) by going to the top level and double clicking on the header (this ‘expands’ / ‘opens’ all nested lists, ensuring everything is copied. Alt and click on the title (or click anywhere and press ctrl a twice) to select it all, and copy and paste it over (I personally used Tex Studio for this compile but sharelatex is becoming very popular and has just introduced a track changes feature which is currently unique among Latex compilers. Then, do the same for your .bib file. Compile. Done. Well, actually you’ll undoubtedly have some errors to sort out, but that’s Latex life.


Without Latex, WorkFlowy wouldn’t be great for writing a thesis. It would still be nice for getting a first draft because it helps your mind flow and helps you understand the structure, argument flow, and nature of your document, which is the key to good writing. With Latex however, WorkFlowy is a thesis powerhouse, all the way up to the final compile and beyond. Reviewers come back with a raft of comments? No problem. Insert them all as sub-bullets under the appropriate section, tag them all up as #todo and perhaps according to how difficult they will be to deal with (allowing you to deal with the hardest when you are at your most cognitively able – first thing in the morning for me), deal with each in turn by zooming in (avoiding being overwhelmed), break difficult sections down, reorganize, tag, rewrite. It’s all just so much easier. I beg you, for your own sanity, never write another paper in anything but WorkFlowy with Latex again.

5 thoughts on “Why WorkFlowy and Latex make the perfect partnership for Academic Writing.

  1. I was almost sold by Workflowy some time ago as a note taking system, but the inability to render Latex inline was really making it hard for me. An alternative is a kind of copy of Workflowy called Dynalist which does render Latex inline. I actually ended up going with plain text files, writing markdown in Atom with a rendering plugin and using pandoc to convert between formats.

    Workflowy would be the perfect app if only it could render Latex inline.

    1. Thank you for your comment Kristofer, yes Dynalist is very good too – depending on a person’s needs Dynalist offers a lot more ‘features’ (a LOT more) and they are actively developing and really responsive to customer feedback, but the app is therefore a little more ‘bloated’. Workflowy is very minimalist but lacks any advanced features.

      I agree that an app which combined outliners with full latex support would be awesome(Dynalist’s support is limited to writing snippets .. it really doesn’t help you write a paper). However I am not sure that any such app will ever exist as it is too niche 🙂

  2. Thank you for these excellent tips, I particularly like the referencing trick. I have been using WorkFlowy extensively for all my academic writing for two years now and it has been a real revelation. I have recently discovered the MathFlowy Chrome extension which renders LaTeX directly in WorkFlowy via Mathjax. It has some quirks but you get used to it and I now delay the actual LaTeX compilation (via embedded Sharelatex link) until the piece of writing is in an advanced draft state. The great feature is that I can zoom in even into equations — I write maths papers — which is great for focus and thinking. I can also print any section for offline proofreading (or convert to PDF for sharing with colleagues) via the normal Chrome print menu. Perfect.

    1. Hi Echkhard, thank you for your kind words and helpful info about MathFlowy. I think yes it’s important to note that MathFlowy does have limitations and can’t, I think, completely replace the system I’m advocating here. Firstly you would have to put the delimiters $$ $$ around every bullet / note that you wanted rendered, but then would have to remove these to compile in e.g. Tex Studio at the end – or perhaps I’m wrong about that? I am also not sure if it is able to render everything in latex e.g. images, and it can’t take account of the ‘pre-amble’ e.g. to change formatting throughout the paper – each ‘rendered section’ is effectively a silo in Mathflowy. However this could be a very nice way to get more of a ‘feel’ for what your paper looks like while you’re writing, thanks!!

      1. Hi Stephen — I agree that MathFlowy cannot easily replace a full system, and has many restrictions. You are right, it will only interpret maths-related LaTeX.

        However, together with WorkFlowy, it forms a remarkably simple cloud-based setup for creating and managing zoomable outlines with mathematical content, and I use it extensively for drafting research papers as well as lecture notes.

Leave a Reply

Your email address will not be published. Required fields are marked *