Skip to content

Instantly share code, notes, and snippets.

@andrejbauer
Last active April 24, 2024 12:59
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrejbauer/333f81bb7394502a8539ccf93c7d703f to your computer and use it in GitHub Desktop.
Save andrejbauer/333f81bb7394502a8539ccf93c7d703f to your computer and use it in GitHub Desktop.
LaTeX symbols input method for MacOS

LaTeX input method for MacOS

This MacOS input method is based on TeX113 input.

How to install and use the input method

  1. Download the raw format of LaTeX.inputplugin file found here. You must make sure to get the original file in the UTF-16 format (do not attempt to cut and paste). The best way to do this is to download the gist as a ZIP file (there is a button in the upper-right corner), or to clone it.
  2. Double-click on the file LaTeX.inputplugin in Finder. The OS will process it and place the processed file into ~/Library/Input Methods folder. (Do not place it there by hand.)
  3. Logout and login.
  4. Go to “System settings → Keyboard → Text input → Edit…”, then press + in lower-left corner to add a new input method. Find “LaTeX” and add it to your input sources (it might be a bit hard to find, it tends to hide under Chinese, Simplified).
  5. Possbily logout and login again if you do not see LaTeX as input source.
  6. Set up a convenient keyboard shortcut for switching between keyboards under “System settings → Keyboard → Keyboard shortcuts → Input Source”

To type β switch to the LaTeX input method and type beta and space (no backslash \). Consult LaTeX.inputplugin to see what can be typed.

How to customize the symbols

You may customize the file easily enough, just keep in mind:

  1. The file must be saved in UTF-16 format:

    • Emacs: use C-x C-m f, select utf-16, then save the file.
    • Visual Studio Code: the coding is displayed in the status line at the bottom, on the right. You may click on it to select an encoding.
  2. The input string and the symbol must be separated by a TAB.

#
METHOD: TABLE
ENCODE: Unicode
PROMPT: LaTeX
VERSION: 1.0
DELIMITER: ,
VALIDINPUTKEY: ^,.?!:;"'/\()[]{}<>$%&@*01234567890123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
TERMINPUTKEY:
BEGINCHARACTER
alpha α
beta β
gamma γ
ggamma Γ
delta δ
ddelta Δ
epsilon ε
zeta ζ
eta η
theta θ
ttheta Θ
iota ι
kappa κ
lambda λ
llambda Λ
mu μ
nu ν
xi ξ
xxi Ξ
pi π
ppi Π
rho ρ
sigma σ
ssigma Σ
tau τ
upsilon υ
phi φ
pphi Φ
chi χ
psi ψ
ppsi Ψ
omega ω
oomega Ω
nabla ∇
hbar ℏ
times ×
otimes ⊗
oplus ⊕
ominus ⊖
odiv ⊘
odot ⊙
boxtimes ⊠
boxplus ⊞
bowtie ⋈
leq ≤
le ≤
ge ≥
geq ≥
prec ≺
preceq ≼
succ ≻
succeq ≽
cdot ·
bullet ∙
ring ∘
ratio ∶
prop ∷
cdots ⋯
div ÷
pm ±
int ∫
oint ∮
iint ∬
iiint ∭
iiiint ⨌
oiint ∯
oiiint ∰
sum ∑
prod ∏
wedge ∧
and ∧
vee ∨
or ∨
neg ¬
perp ⊥
triangleleft ◅
triangleright ▻
<| ◅
|> ▻
diamond ◇
mid ∣
bullet •
blacksquare ▪
qed ▪
infty ∞
forall ∀
exists ∃
nexists ∄
top ⊤
bot ⊥
stile ⊢
|- ⊢
||- ⊩
|||- ⊪
dstile ⊨
|= ⊨
adjoint ⊣
-| ⊣
entails ⊢
multimap ⊸
-o ⊸
lsemi ⋉
rsemi ⋊
uplus ⊎
pitchfork ⋔
' ′
'' ″
''' ‴
^1 ¹
^2 ²
^3 ³
^4 ⁴
^5 ⁵
^6 ⁶
^7 ⁷
^8 ⁸
^9 ⁹
^0 ⁰
^- ⁻
^+ ⁺
_1 ₁
_2 ₂
_3 ₃
_4 ₄
_5 ₅
_6 ₆
_7 ₇
_8 ₈
_9 ₉
_0 ₀
_- ₋
_+ ₊
_a ₐ
_e ₑ
_i ᵢ
_j ⱼ
_o ₒ
_r ᵣ
_u ᵤ
_v ᵥ
_x ₓ
_beta ᵦ
_gamma ᵧ
_rho ᵨ
_psi ᵩ
_chi ᵪ
^a ᵃ,ᴬ
^b ᵇ,ᴮ
^c ᶜ
^d ᵈ,ᴰ
^e ᵉ,ᴱ
^g ᵍ,ᴳ
^h ʰ,ᴴ
^i ⁱ,ᴵ
^j ʲ,ᴶ
^k ᵏ,ᴷ
^l ˡ,ᴸ
^m ᵐ,ᴹ
^n ⁿ,ᴺ
^o º,ᴼ
^p ᵖ,ᴾ
^r ʳ,ᴿ
^s ˢ
^t ᵗ,ᵀ
^u ᵘ,ᵁ
^v ᵛ,ⱽ
^w ʷ,ᵂ
^x ˣ
^y ʸ
^z ᶻ
^tm ™
^alpha ᵅ
^beta ᵝ
^gamma ᵞ
^delta ᵟ
^epsilon ᵋ
^theta ᶿ
^iota ᶥ
^phi ᶲ
^psi ᵠ
^chi ᵡ
ast ∗
angle ∠
"o ö
surd √
root √
sqrt √
cbrt ∛
xbar x̄
ftrt ∜
-> →
right →
to →
<- ←
left ←
dright ⇒
=> ⇒
Rightarrow ⇒
c-> ↪
into ↪
<= ⇐
dleft ⇐
leadsto ↝
supset ⊃
vdash ⊢
vvdash ⊩
vvvdash ⊪
cong ≅
~= ≅
equiv ≡
== ≡
nequiv ≢
~ ∼
sim ∼
simeq ≃
~= ≃
~~ ≈
approx ≈
n~~ ≉
napprox ≉
ll ≪
gg ≫
box □
circ ∘
o ∘
circle ◯
star ⋆
dag †
ddag ‡
mapsto ↦
|-> ↦
propto ∝
cdot ·
aleph ℵ
imath ı
partial ∂
sharp ♯
flat ♭
natural ♮
wp ℘
powerset ℘
scriptp ℘
emptyset ∅
ell ℓ
ldots …
cdots ⋯
urdots ⋰
drdots ⋱
in ∈
nin ∉
ni ∋
qed ∎
subset ⊂
nsubset ⊄
subseteq ⊆
super ⊃
nsuper ⊅
supereq ⊇
ne ≠
neq ≠
n= ≠
langle ⟨
rangle ⟩
<< ⟨
>> ⟩
th þ
dh ð
because ∵
divides ∣
parallel ∥
nparallel ∦
1/2 ½,
1/3 ⅓
2/3 ⅔
1/4 ¼
3/4 ¾
1/5 ⅕
2/5 ⅖
3/5 ⅗
4/5 ⅘
1/6 ⅙
5/6 ⅚
1/8 ⅛
3/8 ⅜
5/8 ⅝
7/8 ⅞
downarrow ↓
down ↓
ddownarrow ⇓
uparrow ↑
up ↑
uuparrow ⇑
searrow ↘
swarrow ↙
nearrow ↗
nwarrow ↖
leftrightarrow ↔
<-> ↔
<=> ⇔
iff ⇔
cap ∩
intersect ∩
cup ∪
union ∪
sqcup ⊔
[[ ⟦
]] ⟧
scrA 𝒜
scrB ℬ
scrC 𝒞
scrD 𝒟
scrE ℰ
scrF ℱ
scrG 𝒢
scrH ℋ
scrI ℐ
scrJ 𝒥
scrK 𝒦
scrL ℒ
scrM ℳ
scrN 𝒩
scrO 𝒪
scrP 𝒫
scrQ 𝒬
scrR ℛ
scrS 𝒮
scrT 𝒯
scrU 𝒰
scrV 𝒱
scrW 𝒲
scrX 𝒳
scrY 𝒴
scrZ 𝒵
bbA 𝔸
bbB 𝔹
bbC ℂ
CC ℂ
bbD 𝔻
bbE 𝔼
bbF 𝔽
bbG 𝔾
bbH ℍ
bbI 𝕀
bbJ 𝕁
bbK 𝕂
bbL 𝕃
bbM 𝕄
bbN ℕ
NN ℕ
bbO 𝕆
bbP ℙ
bbQ ℚ
QQ ℚ
bbR ℝ
RR ℝ
bbS 𝕊
bbT 𝕋
bbU 𝕌
bbV 𝕍
bbW 𝕎
bbX 𝕏
bbY 𝕐
bbZ ℤ
ZZ ℤ
par ⅋
deg °
sqcap ⊓
sqcup ⊔
lfloor ⌊
|_ ⌊
rfloor ⌋
_| ⌋
ENDCHARACTER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment