I wrote my thesis in Google Docs on my university account.
Google Docs is perfect for stuff like this. Great history management, better (though not great) at formatting and stuff, has features like revisions from editors and notes. Way better than Word IMO.
I learned LaTeX just so I could effectively use git in it.
I kinda want to learn LaTeX but I rarely write anything and I hate doing it so won’t have much use for it. It’s pretty neat though.
I also saw that there was a way to use LaTex to generate PowerPoint which seems extremely useful because PowerPoint is extremely annoying to use.
I mean yes you can use beamer to make slides, but it is a lot less flexible than ppt/LibreOffice Present.
Yes, I also mde my. Thesis slides in LaTeX which was nice as I coukd reuse the figures.
git tag "FINAL FINAL FINAL DRAFT - v20"
The weird part is that most modern office software has version control built right in.
And I still do this with all my files anyway.
I’ve had the built in version control do unexpected things, so I play it safe and create named backup files. I usually end up using that one file, but I’ve been saved on occasion
Use date/time in your file name,using GMT:
Metrics of Sales 2024-05-22_14-29.docx
Very unlikely to have 2 docs with the same down-to-the-minute time stamp in the name.
If you think this process involves enough mindpower to check the time, let alone figure out where the dashes are in whatever language keyboard setup I’m using at the time, you are wildly overestimating how much care goes into doing this.
Eh. I think he reffers to auto naming on save with date, not manually
I have an AutoHotkey script that drops the current date in ISO8601. I don’t need timestamps often, so date is sufficient. I like to have manual control of file names since I very frequently do not want files renamed.
Cute related story: I taught my 6 y.o. son this macro so he can save his Krita art with the date (and then some keyboard spam ending in “poop”, usually). The macro shortcut I set is `T so he now calls the date “ticky tee”. Any set of numbers with dashes is a “ticky tee” to him, and if AutoHotkey is closed he runs to get me because “ticky tee isn’t working, Daddy!”
Dammit, why have I never thought to use AHK for this? I already use the custom context menu script someone developed about 15 years ago (Favorite Folders? It’s on the AHK/AutoIT forum) , I can just add it to that.
AHK/AutoIT are game changers. I feel naked on a machine without it, I’m so used to Ctrl-Middle -click to get to all sorts of things… Folders, scripts, tools, automations (like your date idea), etc.
Ticky-tee! Hahahaha, love it!
Well, if you can’t be bothered to ensure file names mean something, then you get to enjoy the results.
In the Real World®, sometimes files get shared and traded around, and conversations happen about them, and you need to be able to quickly verify you’re looking at the same doc.
We can’t all be connected to the same version control system.
I generally do this on my NAS, combined with nightly and bi-weekly backups, plus a 6-mo safety backup, to a backup drive. Also, basic off-site nightly backups for important stuff. If I worked on really important stuff that required lots of versioning, though, I’d probably go with a versioning system instead of inserting the date.
Who handles the live replication and offsite storage rotations for your quantum encrypted multi site redundant back up system?
I kid (because your excellent practices put mine to absolute shame). Thanks for the reminder to get serious about backups!
Its just not trustworthy
I’m dumb, can someone explain this joke to me? Wtf is a git repo?
Git tracks changes for a folder full of code (aka “repo”) between saves (called “commits”) so you can revert back to previous versions. It’s intended for software but there’s nothing stopping you from using it for documents
Git is a tool that makes it convenient and lightweight to keep past snapshots of a directory of text files (called a repository) and compare them. It also makes it easy to have multiple people work in parallel on the content of the directory, see the differences and merge everything into a common version. It is essential in programming, it’s called versioning or version control.
Although it is not easy to access for non programmers because it’s based on slightly obscure command lines. So it’s a bit of an over-engineering to use it for a single file edited by a single person. Especially because you can now put those on the cloud and have some form of version control that allows to easily compare and go back to previous versions graphically.
It may be worth it if it’s a long document that you work upon for a long time, such as a PhD thesis.Thanks for explaining!
Don’t put binary files in git
both Microsoft office and open/libre office files are zip files containing mostly XML so its not that bad actually , as long as you expose the files inside to git
It’s not ideal, but for a thesis — which ideally has an end date after which it won’t be used — it’s not a huge problem I’d argue.
What’s the issue with binaries in git? Just that diff’ing binary files is useless?
They are generally large, uncompressable and replaced instead of updated like text files. All files stay in the repo history forever, they make repos big and slow compared to text files with no advantages provided (e.g. as you said, diffing etc is useless).
If a binary file needs to be stored in git, it’s usually more appropriate to use git LFS for that file. Git LFS stores the binary outside of the repo in the same way that database engines store binary outside of the respective table.
In this case, it would be much smarter to use version control on the text in the document, not tte binary file, which is a feature of essentially every document writer program.
Cool! Good to know.
Okay, I have a question. I would love to write my papers in latex, but none of my colleges use it. Is there a way to reasonably collaborate with coauthors who only use Word and for whom Latex would be confusing and difficult?
You don’t. You could try overleaf or some wysiwyg editor for LaTeX, but both need some getting used to and at least a minute amount of effort. Overleaf probably has the lowest barrier of entry (0 set up required), but is a paid service.
It’s possible to selfhost overleaf if you don’t want to pay them
some wysiwyg editor for LaTeX
LyX is basically that.
IMO LyX is way simpler than LaTeX for basic stuff, but because it is literally not Microsoft Word I couldn’t really use it to collaborate with people this semester, let alone convince them to work on a full LaTeX document. LyX would be the way to go if my colleagues were even remotely interested in learning about literally anything. You can lead a horse to water, but you can’t make it drink…
Markdown and pandoc are like match made in heaven for this. If you didn’t know, Markdown is plain text file, has a simple syntax for formatting (that gets carried over when you use pandoc), supports LaTeX equations and can attach metadata as yaml part on top of the file (gives custom usability when pandoc works on it) and supports citations w/ a bibliography file. And pandoc is document converter between multiple formats and can produce word files, PowerPoints, html file, latex pdfs (book, report, Beamer presentations) etc. You can also provide a template for pandoc to work with and it produces in that format. Not to mention since it’s plain text, you can apply git version control and also use make files to iteratively compile new outputs.
There is also RMarkdown (or it’s newer successor Quartro), which is same markdown pipeline but also can compute codes inside a section and attaches the result to the markdown file and does the whole pandoc thing afterwards. Think of it as like Jupyter Notebook style of literate programming with Markdown. Here’s a demonstration of its capabilities. https://youtu.be/_D-ux3MqGug
Assuming your colleagues can work with git but not LaTeX, you can set up a git repo with just markdown files and collaborate on that and have a makefile or docker container to get the final word or pdf generated. Here’s a good example of an pandoc makefile https://gist.github.com/kristopherjohnson/7466917
In Worst case scenario that they only work with word files, you can generate one from your markdown files and share with them and pull down the changes they sent you on the word document.
P.S. I assume Org-Mode can also substitute Markdown here in the pipeline. But I haven’t committed to it, so I’m not fully sure.
It depends on what sort of collaboration. For things on which I was the sole author, like my dissertation, I leveraged the miracle that is pandoc. Every email my advisor got from me was a perfectly formatted Word doc with a flawless bibliography and he never had to learn what the hell LaTeX is.
But if you have multiple contributors going back and forth, or need to keep long-lived discussions in the track changes panel, you’re better off not trying to teach others a new tool. Unless they have a genuine interest in it, in which case the WYSIWYG editors can be fun.
Latex and git ❤️
docx files are actually zip archives with xml in them
Let me tell you something. I cannot tell you what company, but I have been tasked with putting Excel files in git “because they are just zip archives with xml” and it is just a disaster. Everytime you save the document it will save certain parts of the xml code in arbitrary ways (like each image is in a list and the order Og that list is random everytime), some metadata is re-written everytime like time of last modified and finally all the xml files are one single line. The git diffs are complete useless and noisy and just looking at the Excel file will cause git to consider it updated. So sure, you can use git to snapshot you Office documents… But just don’t.
If you are, like I once was, the poor fool who has to maintain a bunch of VBA macros… Extract them into files and source control those. Make a script to extract them and to put them back, and use git-lfs for the actual workbook if you need a template workbook.
Now pardon me, I need to add this to the agenda for my next therapy.
I will join that therapy session. This is pretty much what we did, except LFS, since it was “a requirement” to also track what they layouting of the Excel file was like.
And even extracting and inserting the code was not stable. Excel will arbitrarily change the casing of “.path” to “.Path” for no reason and add and remove whitespace between functions as it see fit. It was such a pain. We also had a hard time handling unicode strings for instance containing a degree sign. And the list goes on.
Perhaps M$ does that specifically to make it hard to work with their formats? That way, tools like libre office stay not 100% compatible, preserving their market share.
Just fork git to handle zipping, formatting and ignoring metadata! Or just put your office document in the cloud and use the basic versioning it provides.
Doesn’t matter, to git they are still binary files, which means it’ll check in each revision as an entirely new copy.
Yes, you might only see the most recent one in your working directory, but under the hood, all the other ones are still there in the repo.
I think you can write clean/smudge filter that will turn docx into tree(folder)
You probably can but here’s why that’s still not gonna be all that effective.
Still better than having 30 copies of same document and forgetting which was the last one.
Which isn’t any different than keeping them as separate files space wise so what’s the problem?
(Other than Word having built-in versioning.)
what’s the problem?
It’s basically just keeping a bunch of separate files but with extra steps.
I would genuinely rather use git in such a scenario than not because there are plenty of other useful features over a bunch of files in a folder. Sure, obviously if the file is massive it is inconvenient, but that’s not a fair comparison because we’re comparing multiple copies “FINAL FINAL FOR REAL” in a folder anyways. There isn’t suddenly less size that way. It seems incredibly silly to describe it as “keeping files with extra steps” because people aren’t using git for space saving, they’re using it for version tracking. Everything git does is “keeping files with extra steps.”
Everything git does is “keeping files with extra steps.”
Not quite, because text files are stored as incremental diffs, which not only saves massive amounts of space but allows for effective comparisons of what exactly has changed between versions. While the former is more of a nice bonus these days with storage being extremely cheap, the latter is in fact the main reason one would use git to begin with.
Binary files too can be stored as incremental diffs
Yes but without the ability to quickly see what’s changed between different versions (on a semantic level), all it will do for you is safe you some storage.
With a bunch of separate files, you can at least open two of them quickly and do a manual scan, but with git you can only ever have one version checked out at the same time, so now you’ll be checking out an older version, making a temporary copy of that, and then checking out the version you want to compare it to and STILL end up doing just that.
From a workflow perspective, it’s really just extra overhead, with little to no practical benefit.
I don’t want to engage in this conversation if you’re going to ignore everything else I said about how binary files since that what were talking about.
Sorry, I just woke up and clearly didn’t parse your entire comment correctly. Should have had my coffee first.
Someone could probably build a tool which sits in between you and Git, which unzips the file before committing and after pulling, so Git sees the raw xml file, but you always see the zipped docx.
edit: never mind. Just read @petersr@lemmy.world’s comment explaining why this is a bad idea.
I’m sure you could, but yes, it’s likely not worth the trouble.
Yeah, I made such a tool - and kept polishing edge cases until I gave up. So just wanted to warn everyone.
I encountered an engineering firm that did this. I wanted to do it too.
The company I worked for at the time (said engineering firm was doing subcontracting for us) was full of older business people who could never in a million years have wrapped their heads around the idea.
I also met this at a contracting job. Drove me bonkers.
Had to write a paper in college with 100 citations.
We used zotero for citation management, and it would dump a bibtex file on demand.
The paper was written in markdown, stored in git, and rendered through pandoc. We would cite a paper with parentheses and something resembling an id, like (lewis).
We gave pandoc a “citation style definition”, and it took care of everything. Every citation was perfectly formatted. The bibliography was perfectly formatted. Inline references were perfect. Numbering was perfect. All the metadata was ripped from pdfs automatically. It was downright magical.
yep, markdown is a great alternative to LaTeX if you don’t need fancy layouts or anything special
Markdown + pandoc means it goes through an intermediary latex template on the way to pdf land - which means your markdown can be a bastardized mix of markdown, html, latex commands, and sometimes more ;)
This is what I (a non coder who only knows git “download the Yuzu repo before they nuke it” and git “give me all the updates”) want to do when I get to write a paper. How much git did you have to learn to do this?
This is just basic make changes to file, git add and commit workflow. Other features of git like branching can be leveraged for greater control but are optional. What makes it magical is 3 seperate systems working together with such symphony namely git, Zotero and pandoc. Zotero is citation manager that you can use store scientific articles, papers, thesis etc. and it can produce a bibliography file and pandoc can reference those along with the citations in the make file to create a clean typesetted Word or LaTeX pdf with precise numbering, table of contents, citations and bibliography with correct format without you needing to edit anything.
Exactly my workflow, but I used R Markdown!
Don’t forget to push.
Several times I’ve lost large chunks of work because I usually copy files from the main folder to backup folders, but occasionally I copy files from a folder that was an old backup, reverting all files everywhere by mistake.
I should write my resume in LaTeX.
I wrote mine in LaTeX, highly recommend.
I mean, I spent years writing LaTeX for school so it was real simple and mindless. YMMV
Haha my first thought seeing this meme is “do you want to start writing LaTeX by hand? Because this is how you start…”
Done it and highly recommend it
Do you have a good LaTeX template for it. I did make a data driven based LaTeX pdf for my resume but it’s a nightmare when applying for jobs these days, since they have that ATS parser nonsense, which will throw the entire resume down if it isn’t as very plain and boring word document without much formatting.
Overleaf probably has a template.
Overleaf have hundreds of them. The problem is not the availability or using them. The problem is before your resume reaches a human, it is filtered via a ATS parser and generally it doesn’t like any fancy formatting. So unless your resume is machine readable, it automatically trashes your resume out.
I was vehemently sitting on my Data driven LaTeX typeset resume for months but didn’t have much success until I took a plain old word template and ported everything there. It is what it is.
It depends heavily on region. I personally don’t think I ever had issues with parsers. I used the awesome CV template as a base. It’s fairly simple while still not being completely boring. You can find it on GitHub or overleaf iirc (it’s been a while).
Wait there are other ways to write a resume?
I know it’s a long video but you have no idea what’s possible.
HTML. Some it people have their CV on their personal website.
(And CSS and JS, I guess)
Haha my first thought seeing this meme is “do you want to start writing LaTeX by hand? Because this is how you start…”
I have it is so worth it. I then use GitHub / GitLab releases to “release” a built PDF for my reference.
I have enjoyed switching mine to HTML format which I then generate a PDF from. The only downside is that different browsers can render stuff slightly different, but that’s normally fixable with one line css change. And it’s not like I need to update my resume constantly on different machines.
I was on Word, then LibreOffice Writer.
Now thinking of making it a markdown source, with CSS styling to get an HTML based PDF. This way, the same source can be used on a webpage with different generation code.There is a standard called json-resume with a lot of generators for html and pdf or react-resume which is more like a CMS (not entirely sure about spelling, to lazy to search for it now)
Interesting, but not appealing to me.
I have already been enchanted bydiscount
and mesmerised bykramdown
.
I like this idea. What tool do you use for converting the markdown to html?
kramdown
anddiscount
are 2 fun little tools.kramdown
is more fully featured and is a Ruby Gem.discount
is made in C and is more suitable if you are using it in an on-the-fly render process, but it has lesser functionality.
I do this using overleaf. It’s been much easier to maintain and update since switching.
What’s a good way to learn about Latex and Git. I’ve tried learning on my own but it’s very overwhelming.
Overleaf is easy to use and has tutorials for LaTeX
I learned latex by doing my engineering homework in it. I quit using latex because I kept doing my engineering homework in it and it turns out it sucks to do
I’m doing my math homework with latex this semester, I’m probably slower but it looks good and is more maintainable.
The issue I had was if it was big enough to need maintainability it was a group project and that meant Google docs or it was math and that meant scrawled on paper. Or technical writing which is the prof that told us to try latex in the first place but I was too busy that semester to learn it
You can do maths in LaTeX and I have used Overleaf for group projects before.
Fair, but this was 10 years ago, we were engineers, and it was hard enough explaining the work I did and the work I needed other people to do to them in a way these people understood.
Also I can’t do math on computers. Like arithmetic sure, but real math, that requires actually writing it down. Idk that’s probably my old lady trait these days
It is a pity that Markdown does not have the possibilities of Latex.
Typst is Markdown-ish with the possibilities of LaTeX.
Never heard of latex but I can help you with Git.
What you want to know?
Well in this thread people were saying you can set up your own local git repository? What’s a newbie friendly way of doing that. I’ve watched videos and understand that git version control system but I can’t quite seem to grasp more than that.
You can just create a local repo with
git init
, and then never push to a (non existent) remote repository. Git is decentralized, meaning that you always have a functional and complete repo when you’re working with it.Depending on your tooling, you probably have a GUI for git if you’re a noob, which can usually “initialize a git repo” for you. I use the cli/lagygit tui, so I can’t help with that.
I will answer this, I am sick right now but will return.
deleted by creator
\documentclass{article} \usepackage{soul \begin{document} I'm 19 and I know how to use \LaTeX, \LaTeX is more used in academia, they taught me latex in Uni, but a lot of other people just won't ever heard of it because is rare to find in other places, most technical degrees and even a lot of uni ones won't use it \st{even if it's vastly superior to word}. \huge \LaTeX rules \end{document}
}
I think you dropped this.
You have to excuse me, texstudio adds automatically the closing one.
Same except that I taught myself. Written two essays for uni already with it and knew from the start that I wouldn’t touch word if I didn’t absolutely need it.
Latex is confusing, the errors are often even less clear than Python or Java tracebacks, some packages have weird API or don’t work together, and I had to make a build script to work with it, but besides that, I have a good language and environment now to create pretty good PDFs with, including VCS with git and not having to use an editor that is not neovim.
If you want to look deeper, there are a few more typesetting languages, some with more modern syntax. Markdown is surely the easiest, but not quite as powerful.
Btw, is
soul
a real package?
I’m 40 if that helps.
deleted by creator
Everyone still uses LaTeX for CS/Math at my school. It’s not an age thing. Just different circles. I don’t think anything similar even comes close to LaTeX yet.
Typst is pretty functional
I become a software developer later in life and never had the privilege to go to university, so sometimes I’m out of the loop on older tech.
How did Latex compare to modern Git?
Latex is no versioning tool but a textsetting language. It outputs perfectly formatted Documents after building and takes care of aranging images, quotes and all the tedious stuff so after setting up your template you only have to care about content. It works well with git.
Not like word where adding an image fucks the whole formatting.
Interesting.
Yeah word sucks. I’m a software developer now and have to deal with Word and Excel more than I ever thought I would.
Fuck, I’m
oldprivileged.
“Delete this repository” ate my homework.