After a few years I've settled on using a few key programs to manage my reading, writing, citing, journal submitting, and so on. I have found various online guides, like Daniel Vreeman's "Using Scrivener for Writing Scientific Papers", very useful, and so I thought I would write one about my own process.
I don't think my process is necessarily the best or the easiest for everyone, but it's what I've settled on for myself, and I find that it does things much better than other stuff I've done before (Microsoft Word, Google Docs, Mendeley, LaTeX in its strange multifarious forms, and a dozen other things) so you might find my approach useful, either in whole or in part.
One caveat. I don't think this process works very well for co-authoring, or at least if it does, I haven't figured it out yet. Right now I just co-author via sending a Microsoft Word draft back and forth with my co-author.
I have a video demonstrating how this all works so that you can see it in action:
There are three key programs I use: Scrivener, Zotero, and Hypernomicon. To get all the fancy functionality, technically I also use LibreOffice. Scrivener costs money and is worth it, but everything else is free.
I write everything in Scrivener, and I use Scrivener to keep track of journal and conference submissions. Scrivener mostly has "folders" (which are what they sound like); "texts," which are sort of like individual Microsoft Word documents; and "projects," which are collections of folders and texts. Watch my video or look up information about Scrivener for more details about how it works.
I use Scrivener for writing journal articles and books. (Technically I haven't written any books - just my dissertation, which I wrote in Scrivener, plus incipient book drafts for the far future which are also in Scrivener. But the principles are sound!!!)
I have one Scrivener "project" which contains every journal article I am working on. Here is what that project looks like:
Click for full size
On the left, you can see all the folders. Each article is in its own folder (except for some closely-related articles, which are together in a single folder). Most folders also have "notes" pages, which are collections of things like quotes from articles I want to remember to discuss, reminders to myself about the article, and so on. The "expanded" folders are the articles I'm working on at the moment. Some articles also have "acknowledgement" pages where I keep track of everyone who has offered feedback on the article.
I like this setup for two main reasons. First, I have all my articles very easily accessible, which means I can quickly locate an article and work on it, rather than having to dig through lots of folders. This makes it easy to jump from project to project, move something from one article to another, get a reminder on what I'm working on, and so on. Second, I can back up all of my articles just by backing up my single Scrivener project file.
Each book is its own project. Here is what a book looks like:
Click for full size
Since you can export the book as a whole, or just individual chapters, or whatever, you can use Scrivener to write the book as a holistic piece without having to worry about what happens if you want to just share a chapter on its own with its own separate bibliography, or any of the other issues that you'd have if you just wrote a big long book in Microsoft Word.
I have a Scrivener project that I use for tracking all my publication and conference information: what has been submitted where and when, how long it takes the journal to desk reject me, where I'm going to have to get a hotel four months from now, etc. Here's what that project looks like:
Click for full size
In each folder is a separate text for each article. What you're looking at in the picture above is a sample article text. It has the title of the article, and a table containing the entire history of the article's submission. (To save time, I have an empty version of this text which is called "Article Template," and I copy it to make a new article entry. The number of rows you add to your template can reflect your optimism about how many journals you're going to have to submit the article to before it gets published!)
That covers the "Articles" folder (which in the picture above is mostly collapsed - if it were open you'd see all the individual articles). Below it is the "Journals" folder (which is expanded in the picture). The Journals folder has texts for each journal. These look a lot like the article texts, except they track everything I've submitted to that journal. At the top, instead of the article name and abstract, they have the journal's submission website and information about the journal's requirements (word count, what kinds of articles it publishes, etc.). If I needed to, I could put login details up here, or any other notes about the journal.
Whenever I submit an article, receive an update on it (desk rejection, reviewer rejection, R&R, etc.) I add this information both to the article text and to the text for the journal the article was submitted to. If there's an easier way to do this than doing everything twice, I haven't found it. Suggestions are encouraged - see my CV for contact info.
You can't see it in the above screenshot but I also track conferences in this project (or, rather, I did back when I traveled - I've given that up for various reasons. This is all just to illustrate how to one might do it). Here's what that looks like:
Click for full size
I use Zotero to handle citations. You can find plenty of information about that online, so I won't bother with screenshots or anything. The only relevant stuff here is how I integrate it with Scrivener. Here I basically follow Daniel Vreeman's guide. No need to repeat what he says, except to say that typically once an article gets an R&R, I start working from the Word copy I sent to the journal (or the Word copy from which I made the PDF to send to the journal) rather than the Scrivener text. I find this easier because I don't have to keep re-exporting the Scrivener text, but it does mean the final version of an article is never in Scrivener unless I make an effort to get it there (I don't). If I were ever to have an R&R rejected that would be annoying, because then if I wanted to make substantial changes to it (especially changes which impact the bibliography) I'd have to do that all manually, or get the revisions I made to the Word document back into Scrivener somehow. My plan for that is just never to have an R&R rejected. It's worked so far and thus by induction I'm pretty sure it will work forever.
I use Hypernomicon to organize all my notes on things. Someday I might write an entirely separate piece about how I do that, but I feel like I'm still figuring out how to best make use of its various features. Broadly, though, when I read something, I enter it into my Hypernomicon database, and I add the relevant details, whatever those may be.
Hypernomicon manages PDFs, too, by automatically sorting and renaming. (The one exception is that it cannot automatically embed the journal name into the PDF when you rename it, so I manually add that.)
Hypernomicon is also a database for people, so I use it to keep track of what universities people are at (so if I'm visiting some area I can figure out easily if there's anyone I know who is nearby), what talks they gave at conferences I went to, etc. If someone doesn't have a website or a PhilPapers page I also use Hypernomicon to keep track of their publications.