@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,1095 @@
|
|
|
1
|
+
# Installing LaTeX (TeX Live)
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
LaTeX is a document preparation system widely used for scientific, technical, and academic writing. It excels at producing high-quality typeset documents, particularly those containing complex mathematical equations, tables, and cross-references. TeX Live is the standard, cross-platform distribution of LaTeX maintained by the TeX Users Group (TUG).
|
|
6
|
+
|
|
7
|
+
Key components included in TeX Live:
|
|
8
|
+
|
|
9
|
+
- **TeX/LaTeX engines**: pdfTeX, XeTeX, LuaTeX for document compilation
|
|
10
|
+
- **Macro packages**: Thousands of style files and document classes
|
|
11
|
+
- **Fonts**: Comprehensive font collections for professional typography
|
|
12
|
+
- **Utilities**: BibTeX for bibliographies, dvips, makeindex, and more
|
|
13
|
+
- **tlmgr**: TeX Live Manager for installing/updating packages
|
|
14
|
+
|
|
15
|
+
This guide documents TeX Live installation across all supported platforms.
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
Before installing LaTeX on any platform, ensure:
|
|
20
|
+
|
|
21
|
+
1. **Internet connectivity** - Required to download TeX Live packages (several gigabytes for full installation)
|
|
22
|
+
2. **Administrative privileges** - Required for system-wide installation on most platforms
|
|
23
|
+
3. **Sufficient disk space** - Full installation requires 7+ GB; basic installation requires approximately 300 MB
|
|
24
|
+
4. **Time** - Full installation can take 30-60 minutes depending on network speed
|
|
25
|
+
|
|
26
|
+
## Dependencies
|
|
27
|
+
|
|
28
|
+
### macOS (Homebrew)
|
|
29
|
+
- **Required:**
|
|
30
|
+
- Homebrew - Install via `dev install homebrew` or `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
|
|
31
|
+
- Internet connectivity - For downloading MacTeX packages (~4 GB)
|
|
32
|
+
- Command Line Tools for Xcode - Auto-installed by Homebrew if missing
|
|
33
|
+
- **Optional:** None
|
|
34
|
+
- **Auto-installed:**
|
|
35
|
+
- Perl - Included with macOS
|
|
36
|
+
- curl - Pre-installed on macOS
|
|
37
|
+
|
|
38
|
+
### Ubuntu (APT/Snap)
|
|
39
|
+
- **Required:**
|
|
40
|
+
- sudo privileges - For APT package installation
|
|
41
|
+
- Internet connectivity - For downloading TeX Live packages (several GB)
|
|
42
|
+
- APT package manager - Pre-installed on Ubuntu
|
|
43
|
+
- **Optional:** None
|
|
44
|
+
- **Auto-installed:**
|
|
45
|
+
- Perl and Perl modules - Installed automatically as dependencies of `texlive-full`
|
|
46
|
+
- Font packages - Included in `texlive-full` metapackage
|
|
47
|
+
- Build tools - Installed as dependencies if needed
|
|
48
|
+
|
|
49
|
+
### Raspberry Pi OS (APT/Snap)
|
|
50
|
+
- **Required:**
|
|
51
|
+
- sudo privileges - For APT package installation
|
|
52
|
+
- Internet connectivity - For downloading TeX Live packages (several GB)
|
|
53
|
+
- APT package manager - Pre-installed on Raspberry Pi OS
|
|
54
|
+
- High-quality SD card (Class 10+) or SSD - For acceptable installation performance
|
|
55
|
+
- **Optional:**
|
|
56
|
+
- Swap space (2+ GB) - For compiling complex documents on low-RAM devices (install via `fallocate` and `mkswap`)
|
|
57
|
+
- **Auto-installed:**
|
|
58
|
+
- Perl and Perl modules - Installed automatically as dependencies
|
|
59
|
+
- ARM-optimized packages - Handled by APT for ARM architecture
|
|
60
|
+
- Font packages - Included in `texlive-full` metapackage
|
|
61
|
+
|
|
62
|
+
### Amazon Linux (DNF/YUM)
|
|
63
|
+
- **Required:**
|
|
64
|
+
- sudo privileges - For DNF/YUM package installation
|
|
65
|
+
- Internet connectivity - For downloading TeX Live packages
|
|
66
|
+
- DNF (AL2023/RHEL9) or YUM (AL2/RHEL8) - Pre-installed based on OS version
|
|
67
|
+
- **Optional:**
|
|
68
|
+
- Perl and perl-Digest-MD5 - Only required for native TUG installer (install via `sudo dnf install -y perl perl-Digest-MD5`)
|
|
69
|
+
- **Auto-installed:**
|
|
70
|
+
- Perl modules - Installed as package dependencies
|
|
71
|
+
- Font collections - Included in scheme-full or collection packages
|
|
72
|
+
|
|
73
|
+
### Windows (Chocolatey/winget)
|
|
74
|
+
- **Required:**
|
|
75
|
+
- Chocolatey - Install via `dev install chocolatey` or PowerShell script from chocolatey.org
|
|
76
|
+
- Administrator privileges - For Chocolatey package installation
|
|
77
|
+
- Internet connectivity - For downloading TeX Live packages (~8 GB)
|
|
78
|
+
- PowerShell 5.0+ - Pre-installed on Windows 10/11
|
|
79
|
+
- **Optional:** None
|
|
80
|
+
- **Auto-installed:**
|
|
81
|
+
- Perl (Strawberry Perl) - Bundled with TeX Live Windows installation
|
|
82
|
+
- TeX Live utilities - Included in the texlive Chocolatey package
|
|
83
|
+
- Windows-specific binaries - Installed to `C:\texlive\<year>\bin\windows`
|
|
84
|
+
|
|
85
|
+
### Git Bash (Manual/Portable)
|
|
86
|
+
- **Required:**
|
|
87
|
+
- Git Bash - Installed as part of Git for Windows
|
|
88
|
+
- Chocolatey on Windows host - For automated installation (install via `dev install chocolatey`)
|
|
89
|
+
- PowerShell - For Chocolatey interop from Git Bash (pre-installed on Windows 10/11)
|
|
90
|
+
- Administrator privileges - For system-wide installation via Chocolatey
|
|
91
|
+
- Internet connectivity - For downloading TeX Live packages (~8 GB)
|
|
92
|
+
- **Optional:**
|
|
93
|
+
- Perl for Windows - Only required for portable/manual TUG installer (download from strawberryperl.com or via `choco install strawberryperl`)
|
|
94
|
+
- **Auto-installed:**
|
|
95
|
+
- TeX Live binaries - Installed on Windows host, accessible via shared PATH
|
|
96
|
+
- Perl (Strawberry Perl) - Bundled with TeX Live Windows installation
|
|
97
|
+
|
|
98
|
+
## Platform-Specific Installation
|
|
99
|
+
|
|
100
|
+
### macOS (Homebrew)
|
|
101
|
+
|
|
102
|
+
#### Prerequisites
|
|
103
|
+
|
|
104
|
+
- macOS 10.14 (Mojave) or later
|
|
105
|
+
- Homebrew package manager installed
|
|
106
|
+
- At least 8 GB free disk space for full installation (300 MB for BasicTeX)
|
|
107
|
+
- Apple Silicon (M1/M2/M3/M4) or Intel processor
|
|
108
|
+
|
|
109
|
+
If Homebrew is not installed, install it first:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### Installation Steps
|
|
116
|
+
|
|
117
|
+
Run the following command to install the full MacTeX distribution (recommended):
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
brew install --cask mactex-no-gui
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This installs the complete TeX Live distribution without GUI applications (TeXShop, BibDesk, etc.), which is ideal for command-line workflows and automation. The `--cask` flag specifies the graphical application installer format used for MacTeX.
|
|
124
|
+
|
|
125
|
+
**Note**: The installation takes 20-40 minutes and downloads approximately 4 GB of data. The `mactex-no-gui` cask runs non-interactively by default through Homebrew.
|
|
126
|
+
|
|
127
|
+
After installation completes, restart your terminal to update your PATH, or manually add the TeX binaries:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
eval "$(/usr/libexec/path_helper)"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### Verification
|
|
134
|
+
|
|
135
|
+
Confirm the installation succeeded:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
latex --version
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Expected output (version numbers may vary):
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2025)
|
|
145
|
+
kpathsea version 6.4.0
|
|
146
|
+
...
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Test the installation by compiling a simple document:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
153
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
157
|
+
|
|
158
|
+
#### Troubleshooting
|
|
159
|
+
|
|
160
|
+
**Problem**: `latex: command not found` after installation
|
|
161
|
+
|
|
162
|
+
**Solution**: The PATH may not be updated. Either restart your terminal or run:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
eval "$(/usr/libexec/path_helper)"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Verify the TeX binaries are in your PATH:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
ls /Library/TeX/texbin/
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
If the directory exists, add it to your PATH manually:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
export PATH="/Library/TeX/texbin:$PATH"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Add this line to your `~/.zshrc` or `~/.bash_profile` for persistence.
|
|
181
|
+
|
|
182
|
+
**Problem**: Installation fails with disk space error
|
|
183
|
+
|
|
184
|
+
**Solution**: MacTeX requires approximately 8 GB of free space. Free up disk space or use BasicTeX instead:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
brew install --cask basictex
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
BasicTeX is a minimal distribution (~300 MB) that includes core LaTeX functionality. You can add packages later using `tlmgr`.
|
|
191
|
+
|
|
192
|
+
**Problem**: Permission denied errors during installation
|
|
193
|
+
|
|
194
|
+
**Solution**: Homebrew cask installations require your user password. Run the command in an interactive terminal. For fully automated scenarios, ensure your user has sudo privileges without password prompts for the installer.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### Ubuntu/Debian (APT)
|
|
199
|
+
|
|
200
|
+
#### Prerequisites
|
|
201
|
+
|
|
202
|
+
- Ubuntu 20.04 LTS or later, or Debian 11 (Bullseye) or later
|
|
203
|
+
- sudo privileges
|
|
204
|
+
- At least 6 GB free disk space for full installation (300 MB for basic installation)
|
|
205
|
+
|
|
206
|
+
#### Installation Steps
|
|
207
|
+
|
|
208
|
+
Run the following commands to install the full TeX Live distribution:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
212
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-full
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable ensures the installation proceeds without prompts, and the `-y` flag automatically confirms package installation.
|
|
216
|
+
|
|
217
|
+
**Note**: The `texlive-full` metapackage installs the complete TeX Live distribution including all fonts, language support, and documentation. This can take 30-60 minutes and downloads several gigabytes of data.
|
|
218
|
+
|
|
219
|
+
For a smaller installation with core LaTeX functionality:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
223
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
#### Verification
|
|
227
|
+
|
|
228
|
+
Confirm the installation succeeded:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
latex --version
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Expected output (version numbers may vary):
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2023/Debian)
|
|
238
|
+
kpathsea version 6.3.5
|
|
239
|
+
...
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Test the installation:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
246
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
250
|
+
|
|
251
|
+
#### Troubleshooting
|
|
252
|
+
|
|
253
|
+
**Problem**: `E: Unable to locate package texlive-full`
|
|
254
|
+
|
|
255
|
+
**Solution**: Update the package lists:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
If the problem persists, check that the universe repository is enabled:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
sudo add-apt-repository universe -y
|
|
265
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Problem**: Installation fails with "no space left on device"
|
|
269
|
+
|
|
270
|
+
**Solution**: The full TeX Live installation requires approximately 6 GB. Free up disk space or use a smaller installation:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-base
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Problem**: Missing LaTeX packages when compiling documents
|
|
277
|
+
|
|
278
|
+
**Solution**: The base installation may not include all packages. Install additional packages:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-extra texlive-fonts-extra texlive-science
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Problem**: Old TeX Live version in repository
|
|
285
|
+
|
|
286
|
+
**Solution**: Ubuntu and Debian repositories contain TeX Live versions that may be a few years behind the current release. For the latest version, use the native TeX Live installer from TUG (see the manual installation section in Git Bash).
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### Raspberry Pi OS (APT)
|
|
291
|
+
|
|
292
|
+
#### Prerequisites
|
|
293
|
+
|
|
294
|
+
- Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
|
|
295
|
+
- Raspberry Pi 3B+ or later (64-bit capable hardware recommended)
|
|
296
|
+
- At least 6 GB free disk space for full installation (300 MB for basic installation)
|
|
297
|
+
- At least 2 GB RAM (4 GB recommended for compiling complex documents)
|
|
298
|
+
- sudo privileges
|
|
299
|
+
|
|
300
|
+
First, verify your architecture:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
uname -m
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
- `aarch64` = 64-bit (recommended)
|
|
307
|
+
- `armv7l` = 32-bit (supported but limited)
|
|
308
|
+
|
|
309
|
+
#### Installation Steps
|
|
310
|
+
|
|
311
|
+
Run the following commands to install the full TeX Live distribution:
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
315
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-full
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
The installation is identical to Ubuntu/Debian since Raspberry Pi OS is Debian-based. The ARM architecture is fully supported.
|
|
319
|
+
|
|
320
|
+
**Note**: Installation on Raspberry Pi can be significantly slower than on desktop systems, especially when using an SD card. Expect 1-2 hours for the full installation. Using a high-quality SD card (Class 10 or faster) or an SSD/USB storage will improve performance.
|
|
321
|
+
|
|
322
|
+
For a faster installation with core LaTeX functionality:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
326
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-recommended texlive-fonts-recommended
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
#### Verification
|
|
330
|
+
|
|
331
|
+
Confirm the installation succeeded:
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
latex --version
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Expected output (version numbers may vary):
|
|
338
|
+
|
|
339
|
+
```
|
|
340
|
+
pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2023/Debian)
|
|
341
|
+
kpathsea version 6.3.5
|
|
342
|
+
...
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
Test the installation:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
349
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
353
|
+
|
|
354
|
+
#### Troubleshooting
|
|
355
|
+
|
|
356
|
+
**Problem**: Installation extremely slow
|
|
357
|
+
|
|
358
|
+
**Solution**: Raspberry Pi SD cards can be slow for large installations. Consider:
|
|
359
|
+
|
|
360
|
+
1. Using a faster SD card (Class 10 or UHS-I)
|
|
361
|
+
2. Booting from USB/SSD instead of SD card
|
|
362
|
+
3. Installing the minimal TeX Live package first:
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-base
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Problem**: Out of memory errors during document compilation
|
|
369
|
+
|
|
370
|
+
**Solution**: Add swap space to handle memory-intensive compilations:
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
sudo fallocate -l 2G /swapfile
|
|
374
|
+
sudo chmod 600 /swapfile
|
|
375
|
+
sudo mkswap /swapfile
|
|
376
|
+
sudo swapon /swapfile
|
|
377
|
+
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
**Problem**: "no space left on device" error
|
|
381
|
+
|
|
382
|
+
**Solution**: The full installation requires approximately 6 GB. Check available space:
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
df -h /
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Free up space or use a minimal installation:
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-base
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**Problem**: ARM-specific font rendering issues
|
|
395
|
+
|
|
396
|
+
**Solution**: Install additional font packages:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-fonts-extra fonts-liberation
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
### Amazon Linux/RHEL (DNF/YUM)
|
|
405
|
+
|
|
406
|
+
#### Prerequisites
|
|
407
|
+
|
|
408
|
+
- Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2), RHEL 8/9, or CentOS Stream
|
|
409
|
+
- sudo privileges
|
|
410
|
+
- At least 6 GB free disk space for full installation
|
|
411
|
+
|
|
412
|
+
**Note**: Amazon Linux 2023 and RHEL 9 use DNF as the package manager. Amazon Linux 2 and RHEL 7/8 use YUM. The commands below use DNF; for older systems, replace `dnf` with `yum`.
|
|
413
|
+
|
|
414
|
+
#### Installation Steps
|
|
415
|
+
|
|
416
|
+
**For Amazon Linux 2023 and RHEL 9:**
|
|
417
|
+
|
|
418
|
+
Run the following commands to install TeX Live:
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
sudo dnf install -y texlive-scheme-full
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
This installs the full TeX Live distribution. The `-y` flag automatically confirms the installation without prompts.
|
|
425
|
+
|
|
426
|
+
**Note**: The `texlive-scheme-full` package may not be available in all repositories. If unavailable, install the available TeX Live packages:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
sudo dnf install -y texlive texlive-latex texlive-xetex texlive-collection-latexrecommended texlive-collection-fontsrecommended
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
**For Amazon Linux 2:**
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
sudo yum install -y texlive texlive-latex texlive-xetex
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
Amazon Linux 2 has a more limited TeX Live package selection. For additional packages:
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
sudo yum install -y texlive-collection-latexrecommended texlive-collection-fontsrecommended
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
#### Verification
|
|
445
|
+
|
|
446
|
+
Confirm the installation succeeded:
|
|
447
|
+
|
|
448
|
+
```bash
|
|
449
|
+
latex --version
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
Expected output (version numbers may vary):
|
|
453
|
+
|
|
454
|
+
```
|
|
455
|
+
pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2024)
|
|
456
|
+
kpathsea version 6.3.5
|
|
457
|
+
...
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
Test the installation:
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
464
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
468
|
+
|
|
469
|
+
#### Troubleshooting
|
|
470
|
+
|
|
471
|
+
**Problem**: `No match for argument: texlive-scheme-full`
|
|
472
|
+
|
|
473
|
+
**Solution**: The full scheme may not be available. Install core packages individually:
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
sudo dnf install -y texlive texlive-latex texlive-xetex texlive-collection-latex texlive-collection-latexrecommended
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
**Problem**: Missing LaTeX packages when compiling documents
|
|
480
|
+
|
|
481
|
+
**Solution**: Install additional collections as needed:
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
sudo dnf install -y texlive-collection-latexextra texlive-collection-fontsextra texlive-collection-science
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
Or use `tlmgr` to install specific packages (if native TeX Live is installed):
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
sudo tlmgr install <package-name>
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Problem**: TeX Live version is older than expected
|
|
494
|
+
|
|
495
|
+
**Solution**: Amazon Linux and RHEL prioritize stability over currency. For the latest TeX Live version, use the native installer from TUG:
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
cd /tmp
|
|
499
|
+
curl -L -o install-tl-unx.tar.gz https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
|
|
500
|
+
tar -xzf install-tl-unx.tar.gz
|
|
501
|
+
cd install-tl-*/
|
|
502
|
+
perl ./install-tl --no-interaction --scheme=full
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Then add to PATH:
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
echo 'export PATH="/usr/local/texlive/2025/bin/x86_64-linux:$PATH"' >> ~/.bashrc
|
|
509
|
+
source ~/.bashrc
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
**Problem**: Perl dependencies missing for native installer
|
|
513
|
+
|
|
514
|
+
**Solution**: Install Perl and required modules:
|
|
515
|
+
|
|
516
|
+
```bash
|
|
517
|
+
sudo dnf install -y perl perl-Digest-MD5
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
### Windows (Chocolatey)
|
|
523
|
+
|
|
524
|
+
#### Prerequisites
|
|
525
|
+
|
|
526
|
+
- Windows 10 or Windows 11 (64-bit)
|
|
527
|
+
- Administrator PowerShell or Command Prompt
|
|
528
|
+
- Chocolatey package manager installed
|
|
529
|
+
- At least 8 GB free disk space for full installation
|
|
530
|
+
- Stable internet connection (installation downloads several gigabytes)
|
|
531
|
+
|
|
532
|
+
If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
|
|
533
|
+
|
|
534
|
+
```powershell
|
|
535
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
#### Installation Steps
|
|
539
|
+
|
|
540
|
+
Run the following command in an Administrator PowerShell or Command Prompt to install TeX Live:
|
|
541
|
+
|
|
542
|
+
```powershell
|
|
543
|
+
choco install texlive -y --params="'/scheme:full'"
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
The `-y` flag automatically confirms all prompts. The `/scheme:full` parameter installs the complete TeX Live distribution.
|
|
547
|
+
|
|
548
|
+
**Note**: The full installation takes 45-90 minutes depending on network speed and system performance. TeX Live installs to `C:\texlive\<year>` by default.
|
|
549
|
+
|
|
550
|
+
For a smaller, faster installation with basic LaTeX functionality:
|
|
551
|
+
|
|
552
|
+
```powershell
|
|
553
|
+
choco install texlive -y --params="'/scheme:basic'"
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
After installation completes, restart your terminal or PowerShell to update the PATH.
|
|
557
|
+
|
|
558
|
+
#### Verification
|
|
559
|
+
|
|
560
|
+
Open a new Command Prompt or PowerShell window, then run:
|
|
561
|
+
|
|
562
|
+
```powershell
|
|
563
|
+
latex --version
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
Expected output (version numbers may vary):
|
|
567
|
+
|
|
568
|
+
```
|
|
569
|
+
pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2025/W32TeX)
|
|
570
|
+
kpathsea version 6.4.0
|
|
571
|
+
...
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
Test the installation:
|
|
575
|
+
|
|
576
|
+
```powershell
|
|
577
|
+
echo \documentclass{article}\begin{document}Hello, LaTeX!\end{document} > %TEMP%\test.tex
|
|
578
|
+
pdflatex -interaction=nonstopmode -output-directory=%TEMP% %TEMP%\test.tex
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
If successful, a file `%TEMP%\test.pdf` will be created.
|
|
582
|
+
|
|
583
|
+
#### Troubleshooting
|
|
584
|
+
|
|
585
|
+
**Problem**: `latex is not recognized as an internal or external command`
|
|
586
|
+
|
|
587
|
+
**Solution**: The PATH may not be updated. Restart your terminal. If the problem persists, add TeX Live to PATH manually:
|
|
588
|
+
|
|
589
|
+
1. Find your TeX Live installation (usually `C:\texlive\2025\bin\windows`)
|
|
590
|
+
2. Add to PATH in System Properties > Environment Variables
|
|
591
|
+
|
|
592
|
+
Or run from PowerShell:
|
|
593
|
+
|
|
594
|
+
```powershell
|
|
595
|
+
$env:Path += ";C:\texlive\2025\bin\windows"
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
**Problem**: Installation times out
|
|
599
|
+
|
|
600
|
+
**Solution**: TeX Live installation can take over an hour. Increase the Chocolatey timeout:
|
|
601
|
+
|
|
602
|
+
```powershell
|
|
603
|
+
choco install texlive -y --params="'/scheme:full'" --execution-timeout=7200
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
**Problem**: Installation fails with network errors
|
|
607
|
+
|
|
608
|
+
**Solution**: TeX Live downloads packages from CTAN mirrors. If mirrors are slow:
|
|
609
|
+
|
|
610
|
+
1. Retry the installation
|
|
611
|
+
2. Use a different network
|
|
612
|
+
3. Consider installing during off-peak hours
|
|
613
|
+
|
|
614
|
+
**Problem**: "Access denied" errors during installation
|
|
615
|
+
|
|
616
|
+
**Solution**: Ensure you are running PowerShell or Command Prompt as Administrator. Right-click the application and select "Run as administrator".
|
|
617
|
+
|
|
618
|
+
**Problem**: Disk space issues
|
|
619
|
+
|
|
620
|
+
**Solution**: The full TeX Live installation requires approximately 8 GB. Check available space:
|
|
621
|
+
|
|
622
|
+
```powershell
|
|
623
|
+
Get-PSDrive C | Select-Object Used,Free
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
Use the basic scheme if space is limited:
|
|
627
|
+
|
|
628
|
+
```powershell
|
|
629
|
+
choco install texlive -y --params="'/scheme:basic'"
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
### WSL (Ubuntu)
|
|
635
|
+
|
|
636
|
+
#### Prerequisites
|
|
637
|
+
|
|
638
|
+
- Windows 10 version 2004 or higher, or Windows 11
|
|
639
|
+
- WSL 2 enabled with Ubuntu distribution installed
|
|
640
|
+
- sudo privileges within WSL
|
|
641
|
+
- At least 6 GB free disk space in WSL
|
|
642
|
+
|
|
643
|
+
#### Installation Steps
|
|
644
|
+
|
|
645
|
+
Run these commands in your WSL Ubuntu terminal:
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
649
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-full
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
The installation is identical to native Ubuntu since WSL runs a full Ubuntu userspace.
|
|
653
|
+
|
|
654
|
+
**Note**: The installation downloads and extracts several gigabytes of data. Ensure your WSL has sufficient disk space. By default, WSL uses a virtual disk that can grow, but you may need to compact it periodically.
|
|
655
|
+
|
|
656
|
+
For a smaller installation:
|
|
657
|
+
|
|
658
|
+
```bash
|
|
659
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
660
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
#### Verification
|
|
664
|
+
|
|
665
|
+
Confirm the installation succeeded:
|
|
666
|
+
|
|
667
|
+
```bash
|
|
668
|
+
latex --version
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
Expected output (version numbers may vary):
|
|
672
|
+
|
|
673
|
+
```
|
|
674
|
+
pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2023/Debian)
|
|
675
|
+
kpathsea version 6.3.5
|
|
676
|
+
...
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
Test the installation:
|
|
680
|
+
|
|
681
|
+
```bash
|
|
682
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
683
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
687
|
+
|
|
688
|
+
To view the PDF from WSL, copy it to a Windows-accessible location:
|
|
689
|
+
|
|
690
|
+
```bash
|
|
691
|
+
cp /tmp/test.pdf /mnt/c/Users/$USER/Desktop/
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
#### Troubleshooting
|
|
695
|
+
|
|
696
|
+
**Problem**: Installation very slow
|
|
697
|
+
|
|
698
|
+
**Solution**: WSL disk I/O can be slower than native Linux. The TeX Live installation involves many small files. Be patient, or use a minimal installation first.
|
|
699
|
+
|
|
700
|
+
**Problem**: "no space left on device" error
|
|
701
|
+
|
|
702
|
+
**Solution**: WSL virtual disks have limited default sizes. Check available space:
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
df -h /
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
Compact the WSL virtual disk from Windows PowerShell (run as Administrator):
|
|
709
|
+
|
|
710
|
+
```powershell
|
|
711
|
+
wsl --shutdown
|
|
712
|
+
Optimize-VHD -Path "$env:LOCALAPPDATA\Packages\CanonicalGroupLimited.Ubuntu*\LocalState\ext4.vhdx" -Mode Full
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
**Problem**: PDF viewers not available in WSL
|
|
716
|
+
|
|
717
|
+
**Solution**: WSL is primarily a command-line environment. View PDFs using Windows applications:
|
|
718
|
+
|
|
719
|
+
```bash
|
|
720
|
+
# Copy to Windows and open with default viewer
|
|
721
|
+
cp /tmp/test.pdf /mnt/c/Users/$USER/Desktop/
|
|
722
|
+
cmd.exe /c start "" "C:\\Users\\$USER\\Desktop\\test.pdf"
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
Or install a WSL-compatible PDF viewer with X server support.
|
|
726
|
+
|
|
727
|
+
**Problem**: Missing fonts in compiled documents
|
|
728
|
+
|
|
729
|
+
**Solution**: Install additional font packages:
|
|
730
|
+
|
|
731
|
+
```bash
|
|
732
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-fonts-extra fonts-liberation fonts-dejavu
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
---
|
|
736
|
+
|
|
737
|
+
### Git Bash (Manual/Portable)
|
|
738
|
+
|
|
739
|
+
#### Prerequisites
|
|
740
|
+
|
|
741
|
+
- Windows 10 or Windows 11 (64-bit)
|
|
742
|
+
- Git Bash installed (comes with Git for Windows)
|
|
743
|
+
- Administrator privileges for system-wide installation, or write access to installation directory for portable installation
|
|
744
|
+
- At least 8 GB free disk space for full installation
|
|
745
|
+
|
|
746
|
+
**Note**: Git Bash on Windows shares the Windows PATH, so installing TeX Live on Windows makes it available in Git Bash automatically. The recommended approach is to use the Chocolatey installation method (see Windows section). This section documents accessing TeX Live from Git Bash after Windows installation.
|
|
747
|
+
|
|
748
|
+
#### Installation Steps
|
|
749
|
+
|
|
750
|
+
**Recommended: Install TeX Live via Chocolatey (see Windows section)**
|
|
751
|
+
|
|
752
|
+
After installing TeX Live on Windows using Chocolatey, the `latex` command will be available in Git Bash once you restart the terminal.
|
|
753
|
+
|
|
754
|
+
**Alternative: Manual PATH Configuration**
|
|
755
|
+
|
|
756
|
+
If TeX Live was installed manually or the PATH is not configured automatically, add TeX Live to your Git Bash PATH.
|
|
757
|
+
|
|
758
|
+
Create or edit `~/.bashrc`:
|
|
759
|
+
|
|
760
|
+
```bash
|
|
761
|
+
echo 'export PATH="/c/texlive/2025/bin/windows:$PATH"' >> ~/.bashrc
|
|
762
|
+
source ~/.bashrc
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
Adjust the path according to your TeX Live installation location. Common locations:
|
|
766
|
+
|
|
767
|
+
- `C:\texlive\2025\bin\windows` (Chocolatey installation)
|
|
768
|
+
- `C:\texlive\2025\bin\win64` (Manual installation)
|
|
769
|
+
|
|
770
|
+
**Portable Installation for Git Bash:**
|
|
771
|
+
|
|
772
|
+
For a truly portable setup (e.g., on a USB drive), download and install TeX Live with the portable option:
|
|
773
|
+
|
|
774
|
+
1. Download the TeX Live installer from a Windows Command Prompt or PowerShell:
|
|
775
|
+
|
|
776
|
+
```powershell
|
|
777
|
+
curl -L -o "%TEMP%\install-tl.zip" https://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
|
|
778
|
+
cd %TEMP%
|
|
779
|
+
tar -xf install-tl.zip
|
|
780
|
+
cd install-tl-*
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
2. Run the installer with portable flag:
|
|
784
|
+
|
|
785
|
+
```powershell
|
|
786
|
+
perl install-tl -no-gui -portable -scheme full
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
3. Configure Git Bash to use the portable installation by adding to `~/.bashrc`:
|
|
790
|
+
|
|
791
|
+
```bash
|
|
792
|
+
echo 'export PATH="/c/path/to/portable/texlive/bin/windows:$PATH"' >> ~/.bashrc
|
|
793
|
+
source ~/.bashrc
|
|
794
|
+
```
|
|
795
|
+
|
|
796
|
+
#### Verification
|
|
797
|
+
|
|
798
|
+
Open Git Bash and confirm the installation:
|
|
799
|
+
|
|
800
|
+
```bash
|
|
801
|
+
latex --version
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
Expected output (version numbers may vary):
|
|
805
|
+
|
|
806
|
+
```
|
|
807
|
+
pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2025)
|
|
808
|
+
kpathsea version 6.4.0
|
|
809
|
+
...
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
Test the installation:
|
|
813
|
+
|
|
814
|
+
```bash
|
|
815
|
+
echo '\documentclass{article}\begin{document}Hello, LaTeX!\end{document}' > /tmp/test.tex
|
|
816
|
+
pdflatex -interaction=nonstopmode -output-directory=/tmp /tmp/test.tex
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
If successful, a file `/tmp/test.pdf` will be created.
|
|
820
|
+
|
|
821
|
+
#### Troubleshooting
|
|
822
|
+
|
|
823
|
+
**Problem**: `latex: command not found` in Git Bash
|
|
824
|
+
|
|
825
|
+
**Solution**: The PATH may not include TeX Live. Check if TeX Live is installed on Windows:
|
|
826
|
+
|
|
827
|
+
```bash
|
|
828
|
+
ls "/c/texlive/"
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
If the directory exists, add it to your PATH:
|
|
832
|
+
|
|
833
|
+
```bash
|
|
834
|
+
export PATH="/c/texlive/2025/bin/windows:$PATH"
|
|
835
|
+
```
|
|
836
|
+
|
|
837
|
+
Add this line to `~/.bashrc` for persistence.
|
|
838
|
+
|
|
839
|
+
**Problem**: Path conversion issues with Git Bash
|
|
840
|
+
|
|
841
|
+
**Solution**: Git Bash automatically converts Unix-style paths to Windows paths, which can sometimes cause issues. Use Windows-style paths with forward slashes:
|
|
842
|
+
|
|
843
|
+
```bash
|
|
844
|
+
pdflatex -output-directory=C:/Users/$USER/Documents C:/Users/$USER/Documents/test.tex
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
Or disable path conversion temporarily:
|
|
848
|
+
|
|
849
|
+
```bash
|
|
850
|
+
MSYS_NO_PATHCONV=1 pdflatex -output-directory=/c/Users/$USER/Documents /c/Users/$USER/Documents/test.tex
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
**Problem**: TeX Live commands work in Command Prompt but not Git Bash
|
|
854
|
+
|
|
855
|
+
**Solution**: Git Bash may not inherit the Windows PATH correctly. Verify PATH includes TeX Live:
|
|
856
|
+
|
|
857
|
+
```bash
|
|
858
|
+
echo $PATH | tr ':' '\n' | grep -i texlive
|
|
859
|
+
```
|
|
860
|
+
|
|
861
|
+
If not found, add manually to `~/.bashrc`:
|
|
862
|
+
|
|
863
|
+
```bash
|
|
864
|
+
echo 'export PATH="$PATH:/c/texlive/2025/bin/windows"' >> ~/.bashrc
|
|
865
|
+
source ~/.bashrc
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
**Problem**: `kpathsea` database not found errors
|
|
869
|
+
|
|
870
|
+
**Solution**: Run the TeX Live font map update:
|
|
871
|
+
|
|
872
|
+
```bash
|
|
873
|
+
mktexlsr
|
|
874
|
+
updmap-sys
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
---
|
|
878
|
+
|
|
879
|
+
## Post-Installation Configuration
|
|
880
|
+
|
|
881
|
+
After installing TeX Live on any platform, consider these optional but recommended configurations.
|
|
882
|
+
|
|
883
|
+
### Updating TeX Live Packages
|
|
884
|
+
|
|
885
|
+
TeX Live includes `tlmgr` (TeX Live Manager) for updating packages:
|
|
886
|
+
|
|
887
|
+
```bash
|
|
888
|
+
# Update tlmgr itself first (Linux/macOS may require sudo)
|
|
889
|
+
sudo tlmgr update --self
|
|
890
|
+
|
|
891
|
+
# Update all packages
|
|
892
|
+
sudo tlmgr update --all
|
|
893
|
+
```
|
|
894
|
+
|
|
895
|
+
On macOS with Homebrew-installed MacTeX, use:
|
|
896
|
+
|
|
897
|
+
```bash
|
|
898
|
+
sudo tlmgr update --self --all
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
**Note**: Distribution-packaged TeX Live (apt, dnf) may not include a functional `tlmgr`. Use the distribution's package manager for updates instead, or install TeX Live directly from TUG.
|
|
902
|
+
|
|
903
|
+
### Installing Additional Packages
|
|
904
|
+
|
|
905
|
+
Install specific LaTeX packages using `tlmgr`:
|
|
906
|
+
|
|
907
|
+
```bash
|
|
908
|
+
# Install a single package
|
|
909
|
+
sudo tlmgr install <package-name>
|
|
910
|
+
|
|
911
|
+
# Install multiple packages
|
|
912
|
+
sudo tlmgr install package1 package2 package3
|
|
913
|
+
|
|
914
|
+
# Search for packages
|
|
915
|
+
tlmgr search <search-term>
|
|
916
|
+
```
|
|
917
|
+
|
|
918
|
+
For distribution-packaged TeX Live, use the system package manager:
|
|
919
|
+
|
|
920
|
+
```bash
|
|
921
|
+
# Ubuntu/Debian
|
|
922
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-<package-collection>
|
|
923
|
+
|
|
924
|
+
# Amazon Linux/RHEL
|
|
925
|
+
sudo dnf install -y texlive-<package-collection>
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
### Configuring Default Paper Size
|
|
929
|
+
|
|
930
|
+
Set the default paper size (letter or a4):
|
|
931
|
+
|
|
932
|
+
```bash
|
|
933
|
+
# For US Letter (8.5" x 11")
|
|
934
|
+
sudo tlmgr paper letter
|
|
935
|
+
|
|
936
|
+
# For A4 (210mm x 297mm)
|
|
937
|
+
sudo tlmgr paper a4
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
### Setting Up Editor Integration
|
|
941
|
+
|
|
942
|
+
Popular LaTeX editors and their integration methods:
|
|
943
|
+
|
|
944
|
+
- **VS Code**: Install the "LaTeX Workshop" extension
|
|
945
|
+
- **Sublime Text**: Install the "LaTeXTools" package
|
|
946
|
+
- **Vim**: Use "vimtex" plugin
|
|
947
|
+
- **Emacs**: Use AUCTeX package
|
|
948
|
+
|
|
949
|
+
Verify your editor can find the LaTeX binaries by ensuring the PATH is correctly set.
|
|
950
|
+
|
|
951
|
+
---
|
|
952
|
+
|
|
953
|
+
## Common Issues
|
|
954
|
+
|
|
955
|
+
### Issue: "LaTeX Error: File `<package>.sty' not found"
|
|
956
|
+
|
|
957
|
+
**Symptoms**: Compilation fails because a required style file is missing.
|
|
958
|
+
|
|
959
|
+
**Solutions**:
|
|
960
|
+
|
|
961
|
+
Find and install the missing package:
|
|
962
|
+
|
|
963
|
+
```bash
|
|
964
|
+
# Search for the package
|
|
965
|
+
tlmgr search --global --file <package>.sty
|
|
966
|
+
|
|
967
|
+
# Install the package
|
|
968
|
+
sudo tlmgr install <package-name>
|
|
969
|
+
```
|
|
970
|
+
|
|
971
|
+
For distribution-packaged TeX Live:
|
|
972
|
+
|
|
973
|
+
```bash
|
|
974
|
+
# Ubuntu/Debian
|
|
975
|
+
apt-cache search <package>
|
|
976
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y <texlive-package>
|
|
977
|
+
```
|
|
978
|
+
|
|
979
|
+
### Issue: Font-Related Errors
|
|
980
|
+
|
|
981
|
+
**Symptoms**: "Font ... not found" or poor-quality fonts in output.
|
|
982
|
+
|
|
983
|
+
**Solutions**:
|
|
984
|
+
|
|
985
|
+
Update the font maps:
|
|
986
|
+
|
|
987
|
+
```bash
|
|
988
|
+
sudo updmap-sys
|
|
989
|
+
```
|
|
990
|
+
|
|
991
|
+
Install additional font packages:
|
|
992
|
+
|
|
993
|
+
```bash
|
|
994
|
+
# With tlmgr
|
|
995
|
+
sudo tlmgr install collection-fontsrecommended collection-fontsextra
|
|
996
|
+
|
|
997
|
+
# Ubuntu/Debian
|
|
998
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y texlive-fonts-recommended texlive-fonts-extra
|
|
999
|
+
```
|
|
1000
|
+
|
|
1001
|
+
### Issue: Compilation Hangs or Takes Forever
|
|
1002
|
+
|
|
1003
|
+
**Symptoms**: `pdflatex` or `latex` command hangs without producing output.
|
|
1004
|
+
|
|
1005
|
+
**Solutions**:
|
|
1006
|
+
|
|
1007
|
+
Use non-interactive mode to prevent prompts:
|
|
1008
|
+
|
|
1009
|
+
```bash
|
|
1010
|
+
pdflatex -interaction=nonstopmode document.tex
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
Or use batchmode for even less output:
|
|
1014
|
+
|
|
1015
|
+
```bash
|
|
1016
|
+
pdflatex -interaction=batchmode document.tex
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
### Issue: "I can't write on file" Errors
|
|
1020
|
+
|
|
1021
|
+
**Symptoms**: TeX cannot create output files.
|
|
1022
|
+
|
|
1023
|
+
**Solutions**:
|
|
1024
|
+
|
|
1025
|
+
Ensure you have write permissions to the output directory:
|
|
1026
|
+
|
|
1027
|
+
```bash
|
|
1028
|
+
# Specify output directory explicitly
|
|
1029
|
+
pdflatex -output-directory=/path/to/writable/dir document.tex
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
Check disk space:
|
|
1033
|
+
|
|
1034
|
+
```bash
|
|
1035
|
+
df -h .
|
|
1036
|
+
```
|
|
1037
|
+
|
|
1038
|
+
### Issue: BibTeX/Bibliography Not Working
|
|
1039
|
+
|
|
1040
|
+
**Symptoms**: Citations show as "[?]" or bibliography is missing.
|
|
1041
|
+
|
|
1042
|
+
**Solutions**:
|
|
1043
|
+
|
|
1044
|
+
Run the full compilation sequence:
|
|
1045
|
+
|
|
1046
|
+
```bash
|
|
1047
|
+
pdflatex document.tex
|
|
1048
|
+
bibtex document
|
|
1049
|
+
pdflatex document.tex
|
|
1050
|
+
pdflatex document.tex
|
|
1051
|
+
```
|
|
1052
|
+
|
|
1053
|
+
Or use `latexmk` for automatic compilation:
|
|
1054
|
+
|
|
1055
|
+
```bash
|
|
1056
|
+
latexmk -pdf document.tex
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
### Issue: Special Characters or Unicode Not Rendering
|
|
1060
|
+
|
|
1061
|
+
**Symptoms**: Non-ASCII characters appear as boxes or cause errors.
|
|
1062
|
+
|
|
1063
|
+
**Solutions**:
|
|
1064
|
+
|
|
1065
|
+
Use XeLaTeX or LuaLaTeX instead of pdfLaTeX for better Unicode support:
|
|
1066
|
+
|
|
1067
|
+
```bash
|
|
1068
|
+
xelatex document.tex
|
|
1069
|
+
# or
|
|
1070
|
+
lualatex document.tex
|
|
1071
|
+
```
|
|
1072
|
+
|
|
1073
|
+
Add these packages to your document preamble:
|
|
1074
|
+
|
|
1075
|
+
```latex
|
|
1076
|
+
\usepackage[utf8]{inputenc}
|
|
1077
|
+
\usepackage[T1]{fontenc}
|
|
1078
|
+
```
|
|
1079
|
+
|
|
1080
|
+
---
|
|
1081
|
+
|
|
1082
|
+
## References
|
|
1083
|
+
|
|
1084
|
+
- [TeX Live Official Documentation](https://www.tug.org/texlive/doc.html)
|
|
1085
|
+
- [TeX Live Quick Install Guide](https://www.tug.org/texlive/quickinstall.html)
|
|
1086
|
+
- [TeX Users Group (TUG)](https://www.tug.org/)
|
|
1087
|
+
- [CTAN - Comprehensive TeX Archive Network](https://ctan.org/)
|
|
1088
|
+
- [MacTeX Distribution](https://www.tug.org/mactex/)
|
|
1089
|
+
- [MacTeX Homebrew Cask](https://formulae.brew.sh/cask/mactex)
|
|
1090
|
+
- [BasicTeX Homebrew Cask](https://formulae.brew.sh/cask/basictex)
|
|
1091
|
+
- [Ubuntu LaTeX Community Wiki](https://help.ubuntu.com/community/LaTeX)
|
|
1092
|
+
- [TeX Live Chocolatey Package](https://community.chocolatey.org/packages/texlive)
|
|
1093
|
+
- [tlmgr - TeX Live Manager Documentation](https://www.tug.org/texlive/tlmgr.html)
|
|
1094
|
+
- [LaTeX Project](https://www.latex-project.org/)
|
|
1095
|
+
- [TeX Live Portable Installation](https://www.tug.org/texlive/portable.html)
|