Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: ci checks

on:
pull_request:
workflow_dispatch:

jobs:
required-check:
runs-on: ubuntu-24.04
steps:
- run: |
#TODO : we should add some real checks at some point. Maybe fire up overleaf and confirm it works?
echo "passing"

61 changes: 40 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,43 @@
# latex-presentations
Tooling for using LaTeX to create posters and presentations along with public examples of lab automation presentations

Set up overleaf
#. Clone the repo `git clone https://github.com/overleaf/toolkit.git overleaf`
#. remove the git configuration so we can just commit those files: `rm -rf overleaf/.git`
#. Set up basic config `sh overleaf/bin/init`. that's gonna use the full sharelatex image...if you want to make a custom one, put a Dockerfile in there and look at the overleaf.rc
#. Change the `OVERLEAF_LISTEN_IP` and `NGINX_HTTP_LISTEN_IP` to `0.0.0.0`
#. in the overleaf/.gitignore file, comment out `config/**/*` so config will be saved
#. Note: file persistence isn't set up (not sure how to do that), so make sure to save your overleaf projects to zip file frequently. ...or maybe it is now that the data paths in the rc file have been updated...? unclear

Running overleaf
#. If on Windows, launch a new Ubuntu WSL terminal in VS Code, then `./overleaf/bin/up` (you may need to start Docker Desktop first)
#. Go to http://localhost/launchpad


Converting Beamer PDFs to PPTX
#. Based on https://github.com/ashafaei/pdf2pptx
#. Clone the repo `git clone https://github.com/ashafaei/pdf2pptx pdf2pptx`
#. remove the git configuration so we can just commit those files: `rm -rf pdf2pptx/.git`
#. Need to install imagemagick (this version worked, but no particular reason to pin to that): `sudo apt-get update && sudo apt-get install -y imagemagick=8:6.9.12.98+dfsg1-5.2build2`
#. May also need to install zip (this version worked, but no particular reason to pin to that): `sudo apt-get update && sudo apt-get install -y zip=3.0-13ubuntu0.2`
#. Tweak the resolution if you want inside pdf2pptx.sh (this has it )
#. Run it `bash ./pdf2pptx/pdf2pptx.sh slas.pdf` (at high resolution and for a long presentation, this could take 3-4 minutes. you can watch for progress in the yourfilename.pdf.temp folder it creates if you're nervous)
# First-time setup of Overleaf or updating Overleaf versions

If you are simply looking to start overleaf from this repo skip to [Running Overleaf](#running-overleaf).

1. Run the following to clone the repo at a given version, cleanup .git dirs and setup basic config `bash overleaf/bin/init`. that's gonna use the full sharelatex image...if you want to make a custom one, put a Dockerfile in there and look at the overleaf.rc

```bash
git clone https://github.com/overleaf/toolkit.git overleaf
cd overleaf
git checkout 9280a93c4757e8d8b32e2228c66cc46fc7b835ae # v6.1.2
cd ..
rm -rf overleaf/.git overleaf/.github
bash overleaf/bin/init
```

2. Change the `OVERLEAF_LISTEN_IP` and `NGINX_HTTP_LISTEN_IP` to `0.0.0.0` in overleaf.rc
3. in the overleaf/.gitignore file, comment out `config/**/*` so config will be saved

> [!NOTE]
> File persistence isn't set up (not sure how to do that), so make sure to save your overleaf projects to zip file frequently. ...or maybe it is now that the data paths in the rc file have been updated...? unclear

# Running overleaf

1. If on Windows, launch a new Ubuntu WSL terminal in VS Code, then `./overleaf/bin/up` (you may need to start Docker Desktop first)
2. Go to http://localhost/launchpad
3. Create a new admin user and log in
4. Go to http://localhost
5. Create a new project or work on an existing one

# How-tos

## Converting Beamer PDFs to PPTX

1. Based on https://github.com/ashafaei/pdf2pptx
2. Clone the repo `git clone https://github.com/ashafaei/pdf2pptx pdf2pptx`
3. remove the git configuration so we can just commit those files: `rm -rf pdf2pptx/.git`
4. Need to install imagemagick (this version worked, but no particular reason to pin to that): `sudo apt-get update && sudo apt-get install -y imagemagick=8:6.9.12.98+dfsg1-5.2build2`
5. May also need to install zip (this version worked, but no particular reason to pin to that): `sudo apt-get update && sudo apt-get install -y zip=3.0-13ubuntu0.2`
Comment on lines +40 to +41
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, let's explore the repository and read the README.md file
git ls-files | head -20

Repository: LabAutomationAndScreening/latex-presentations

Length of output: 510


🏁 Script executed:

# Find and read the README.md file
fd README.md -x wc -l {}

Repository: LabAutomationAndScreening/latex-presentations

Length of output: 179


🏁 Script executed:

# Read the README.md file around lines 40-41
sed -n '30,50p' README.md

Repository: LabAutomationAndScreening/latex-presentations

Length of output: 1066


🌐 Web query:

Ubuntu 22.04 apt repository package availability imagemagick 6.9.12.98

💡 Result:

Ubuntu 22.04 (jammy) official APT repositories (release/updates/security) do not provide ImageMagick 6.9.12.98.

  • In jammy, the imagemagick source/package series is 8:6.9.11.60+dfsg-1.3… (e.g., …ubuntu0.22.04.5 in updates/security). [1][2]
  • The 6.9.12.98 packaging line appears in Ubuntu 24.04 (noble) (e.g., 8:6.9.12.98+dfsg1-…), not jammy. [3]

So, 6.9.12.98 isn’t available from Ubuntu 22.04’s standard apt repos; you’d need a PPA/backport, build from source, or upgrade to 24.04 to get that version. [3]

Sources:
[1] https://packages.ubuntu.com/jammy/imagemagick
[2] https://launchpad.net/ubuntu/jammy/%2Bpackage/imagemagick
[3] https://launchpad.net/ubuntu/%2Bsource/imagemagick


🌐 Web query:

Ubuntu 24.04 apt repository package availability imagemagick version

💡 Result:

Ubuntu 24.04 LTS (“noble”) apt repositories ship ImageMagick 6 (legacy), not ImageMagick 7.

  • The imagemagick package in noble is version 8:6.9.12.98+dfsg1-5.2build2 (Universe). [1]
  • The actual binaries come from the IM6 packages like imagemagick-6.q16 (same version). [2]
  • imagemagick-7.* packages do not appear in noble; Ubuntu’s package search shows imagemagick-7.q16 / imagemagick-7-common only in newer releases (e.g., 25.04 “plucky”). [3]

Sources: [1] packages.ubuntu.com (noble imagemagick) • [2] ubuntuupdates.org (noble imagemagick-6.q16) • [3] packages.ubuntu.com search results (shows IM7 packages only in later suites)


🌐 Web query:

Ubuntu 22.04 apt repository package availability zip 3.0-13ubuntu0.2

💡 Result:

zip version 3.0-13ubuntu0.2 is not published for Ubuntu 22.04 (jammy) in the official apt repositories (jammy release/updates/security). The zip binary package published for jammy is 3.0-12build2. [1]

The version 3.0-13ubuntu0.2 is published for Ubuntu 24.04 (noble) -updates (not jammy). [2]

How to confirm on a jammy machine:

apt-cache policy zip
apt list -a zip

Sources

  1. Launchpad “zip : Jammy (22.04) : Ubuntu” (shows published versions for jammy) [1]
  2. Launchpad “Publishing history of zip package in Ubuntu” (shows 3.0-13ubuntu0.2 published for noble-updates) [2]

Remove or adjust exact apt package version pins to support multiple Ubuntu releases.

The pinned versions for imagemagick and zip are unavailable in Ubuntu 22.04 and will cause setup failures on that release:

  • imagemagick=8:6.9.12.98+dfsg1-5.2build2 is not in jammy apt repos (only 8:6.9.11.60+dfsg-1.3x variants exist)
  • zip=3.0-13ubuntu0.2 is not in jammy apt repos (only 3.0-12build2 exists)

Both versions are available in Ubuntu 24.04, but pinning breaks Ubuntu 22.04 compatibility. Either omit version specifiers (install latest available), document which Ubuntu versions are supported, or provide version-specific installation commands.

🧰 Tools
🪛 LanguageTool

[style] ~41-~41: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...:6.9.12.98+dfsg1-5.2build2` 5. May also need to install zip (this version worked, but n...

(REP_NEED_TO_VB)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 40 - 41, The README currently pins exact apt package
versions for imagemagick and zip which break on Ubuntu 22.04; update the README
entry (where the lines show `imagemagick=8:6.9.12...` and `zip=3.0-13ubuntu0.2`)
to either remove the "=version" pins so apt installs the available package, or
add separate, version-specific commands and a short note listing supported
Ubuntu releases (e.g., jammy vs lunar) and which pinned versions apply; ensure
the examples reference the package names imagemagick and zip so readers can find
the correct commands.

6. Tweak the resolution if you want inside pdf2pptx.sh (this has it )
7. Run it `bash ./pdf2pptx/pdf2pptx.sh slas.pdf` (at high resolution and for a long presentation, this could take 3-4 minutes. you can watch for progress in the yourfilename.pdf.temp folder it creates if you're nervous)
2 changes: 1 addition & 1 deletion overleaf/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
tmp/
*.swp

# config/**/*
#config/**/*
!config/.gitkeep

data/**/*
Expand Down
4 changes: 4 additions & 0 deletions overleaf/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2026-02-19
### Added
- Updated default [`version`](https://github.com/overleaf/toolkit/blob/master/lib/config-seed/version) to `6.1.2`.

## 2026-02-02
### Added
- Updated default [`version`](https://github.com/overleaf/toolkit/blob/master/lib/config-seed/version) to `6.1.1`.
Expand Down
Empty file modified overleaf/bin/backup-config
100644 → 100755
Empty file.
Empty file modified overleaf/bin/dev/lint
100644 → 100755
Empty file.
Empty file modified overleaf/bin/docker-compose
100644 → 100755
Empty file.
Empty file modified overleaf/bin/doctor
100644 → 100755
Empty file.
Empty file modified overleaf/bin/error-logs
100644 → 100755
Empty file.
Empty file modified overleaf/bin/images
100644 → 100755
Empty file.
Empty file modified overleaf/bin/init
100644 → 100755
Empty file.
Empty file modified overleaf/bin/logs
100644 → 100755
Empty file.
Empty file modified overleaf/bin/mongo
100644 → 100755
Empty file.
Empty file modified overleaf/bin/rename-env-vars-5-0
100644 → 100755
Empty file.
Empty file modified overleaf/bin/rename-rc-vars
100644 → 100755
Empty file.
Empty file modified overleaf/bin/run-script
100644 → 100755
Empty file.
Empty file modified overleaf/bin/shell
100644 → 100755
Empty file.
Empty file modified overleaf/bin/start
100644 → 100755
Empty file.
Empty file modified overleaf/bin/stop
100644 → 100755
Empty file.
Empty file modified overleaf/bin/up
100644 → 100755
Empty file.
Empty file modified overleaf/bin/upgrade
100644 → 100755
Empty file.
8 changes: 4 additions & 4 deletions overleaf/config/overleaf.rc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ PROJECT_NAME=overleaf
# Sharelatex container
# Uncomment the OVERLEAF_IMAGE_NAME variable to use a user-defined image.
# OVERLEAF_IMAGE_NAME=sharelatex/sharelatex
OVERLEAF_DATA_PATH=/home/labsync/overleaf-data/overleaf
OVERLEAF_DATA_PATH=data/overleaf
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so what is this actually doing? /home/labsync was my folder inside WSL2-Ubuntu (labsync is the user name I set up). would this mean I would have to launch overleaf differently somehow? or because it doesn't start with a / does that mean it's just going to put the data wherever the current working dir is...? I don't understand WSL2 very well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes it so there is not a hardcoded absolute path but now a relative path. So it will work on other machines and be stored within the project dir. This is the defaults and overleaf .gitignore is already setup to not commit those data dirs since its setup to be relative to the project.

image

SERVER_PRO=false
OVERLEAF_LISTEN_IP=0.0.0.0
OVERLEAF_PORT=80
Expand All @@ -16,19 +16,19 @@ DOCKER_SOCKET_PATH=/var/run/docker.sock

# Mongo configuration
MONGO_ENABLED=true
MONGO_DATA_PATH=/home/labsync/overleaf-data/mongo
MONGO_DATA_PATH=data/mongo
MONGO_IMAGE=mongo
MONGO_VERSION=8.0

# Redis configuration
REDIS_ENABLED=true
REDIS_DATA_PATH=/home/labsync/overleaf-data/redis
REDIS_DATA_PATH=data/redis
REDIS_IMAGE=redis:7.4
REDIS_AOF_PERSISTENCE=true

# Git-bridge configuration (Server Pro only)
GIT_BRIDGE_ENABLED=false
GIT_BRIDGE_DATA_PATH=/home/labsync/overleaf-data/git-bridge
GIT_BRIDGE_DATA_PATH=data/git-bridge

# TLS proxy configuration (optional)
# See documentation in doc/tls-proxy.md
Expand Down
2 changes: 1 addition & 1 deletion overleaf/config/variables.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ OVERLEAF_APP_NAME="Our Overleaf Instance"

ENABLED_LINKED_FILE_TYPES=project_file,project_output_file

# Enables Thumbnail generation using ImageMagick
# Enables Thumbnail generation using an external converter (pdftocairo by default)
ENABLE_CONVERSIONS=true

# Disables email confirmation requirement
Expand Down
2 changes: 1 addition & 1 deletion overleaf/config/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.1.1
6.1.2
2 changes: 1 addition & 1 deletion overleaf/lib/config-seed/variables.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ OVERLEAF_APP_NAME="Our Overleaf Instance"

ENABLED_LINKED_FILE_TYPES=project_file,project_output_file

# Enables Thumbnail generation using ImageMagick
# Enables Thumbnail generation using an external converter (pdftocairo by default)
ENABLE_CONVERSIONS=true

# Disables email confirmation requirement
Expand Down
2 changes: 1 addition & 1 deletion overleaf/lib/config-seed/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.1.1
6.1.2