์ด LaTeX ํฌ๋งทํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์
- ๊ตฌ์กฐ ์ธ์ LaTeX ํฌ๋งทํ ์ ์ํด Prettier์ unified-latex๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉ
- ์ผ๋ฐ์ ์ธ .tex ๋ฌธ์(๋ ผ๋ฌธ, ๋ณด๊ณ ์, ํ์๋ ผ๋ฌธ, Beamer ์ฌ๋ผ์ด๋, ๋ ธํธ, ๊ณผ์ )์ ์๋
- ํ๊ฒฝ, ์์ ๋ฐ ๋งคํฌ๋ก ์ธ์ ์ฃผ๋ณ์ ๋ค์ฌ์ฐ๊ธฐ์ ์ค ๋ฐ๊ฟ ์ ๊ทํ
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฃผ์๊ณผ ๋๋ถ๋ถ์ ์๋์ ์ธ ๋น ์ค ๋ณด์กด
- LaTeX ์ง์ ๋ถ์ฌ๋ฃ๊ธฐ ๋๋ ํ ์คํธ ํ์ผ ๋๋กญ(์ต๋ ~5MB)
- ์กฐ์ ๊ฐ๋ฅํ ๋ค์ฌ์ฐ๊ธฐ ํฌ๊ธฐ ๋ฐ ์ ํ์ ์ํํธ ์ค ๋๋น ์๋ด(์ค ๋ฐ๊ฟ ๊ธธ์ด ํตํด)
- ๋ธ๋ผ์ฐ์ ์์ ํด๋ผ์ด์ธํธ ์ฐ์ ํฌ๋งทํ , ํ์ ์ ์์ ํ ๋ฐฑ์๋ ํด๋ฐฑ ์ ๊ณต
๐ง ์จ๋ผ์ธ์์ LaTeX ์ฝ๋๋ฅผ ํฌ๋งทํ๋ ๋ฐฉ๋ฒ for latex-formatter
1. LaTeX ์ฝ๋ ๋ถ์ฌ๋ฃ๊ธฐ ๋๋ ๋๋กญ
์๋ํฐ์ LaTeX ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ๊ฑฐ๋ ํ ์คํธ ๊ธฐ๋ฐ ํ์ผ(์ผ๋ฐ์ ์ผ๋ก .tex)์ ๋๋๊ทธ ์ค ๋๋กญํ์ธ์. ์์ ์ฝ๋ ์กฐ๊ฐ๋ถํฐ ์ ์ฒด ๋ฌธ์๊น์ง ์์ ํ ์ ์์ต๋๋ค.
2. ๋ค์ฌ์ฐ๊ธฐ ๋ฐ ์ค ๋ฐ๊ฟ ๊ธธ์ด ์ ํ
๋ค์ฌ์ฐ๊ธฐ ํฌ๊ธฐ(1-8์นธ)์ ์ ํ์ ์ค ๋ฐ๊ฟ ๊ธธ์ด๋ฅผ ์กฐ์ ํ์ธ์. ์งง์ ์ค ๋ฐ๊ฟ ๊ธธ์ด๋ ๋ ์ข์ ๋จ๋ฝ์ ์์ฑํ๋ฉฐ, 0์ผ๋ก ์ค์ ํ๋ฉด ์๋ ์ค ๋ฐ๊ฟ์ด ๋นํ์ฑํ๋ฉ๋๋ค.
3. ํฌ๋งทํ ๋ฐ ์ถ๋ ฅ ๊ฒํ
ํฌ๋งทํฐ๋ฅผ ์คํํ์ธ์. LaTeX์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์ฑ๋๋ฉด ๊น๋ํ๊ฒ ์ฌ์ ๋ ฌ๋ ์ฝ๋๋ฅผ ์ป์ ์ ์์ต๋๋ค. ํ์ฑ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ํ์๋์ด ์์ค๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
4. ์๋ํฐ๋ก ๋ค์ ๋ณต์ฌ
ํฌ๋งทํ ๋ LaTeX์ ์๋ํฐ๋ก ๋ค์ ๋ณต์ฌํ๊ฑฐ๋ ์ ํ์ผ๋ก ์ ์ฅํ์ธ์. ์ ๋ฆฌ๋ ๋ฒ์ ์ ์ปค๋ฐํ์ฌ ๊ณต๋ ์ ์์ ๊ฒํ ์๊ฐ ์ผ๊ด๋ ๋ ์ด์์์ ์ป์ ์ ์๋๋ก ํ์ธ์.
๊ธฐ์ ์ ์ธ๋ถ์ฌํญ
ํฌ๋งทํ ์์ง
์ด ๋๊ตฌ๋ Prettier์ unified-latex ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ LaTeX์ ๊ตฌ์กฐํ๋ AST๋ก ํ์ฑํ ํ, ์ ๊ทํ๋ ๋ค์ฌ์ฐ๊ธฐ์ ์ค ๋ฐ๊ฟ์ผ๋ก ๋ค์ ์ถ๋ ฅํฉ๋๋ค. ์์ค ์ฝ๋๋ง์ ๋์์ผ๋ก ์๋ํ๋ฉฐ ๋ฌธ์๋ฅผ ์ปดํ์ผํ์ง๋ ์์ต๋๋ค.
| ํญ๋ชฉ | ๋์ |
|---|---|
| ์์ง | Prettier + unified-latex ํฌ๋งทํฐ |
| ์ ๋ ฅ | ์ผ๋ฐ ํ ์คํธ LaTeX (UTF-8) |
| ์ถ๋ ฅ | ์ฌํฌ๋งทํ ๋ LaTeX ์์ค (UTF-8) |
| ์คํ | ํด๋ผ์ด์ธํธ ์ฐ์ (๋ธ๋ผ์ฐ์ ) ๋ฐ ์ ํ์ ๋ณด์ ๋ฐฑ์๋ ํด๋ฐฑ |
| ํ์์์ | ๋ฌด๊ฑฐ์ด ์ ๋ ฅ ๋๋ ๋ณต์กํ ๋ฌธ์์ ๋ํด ์ฝ 25์ด ์์ ํ์์์ |
์ผ๋ฐ์ ์ธ ํ์ผ ์ ํ
๋ชจ๋ ์ผ๋ฐ ํ ์คํธ LaTeX์ด ํ์ฉ๋๋ฉฐ, ๋ค์์ด ๊ฐ์ฅ ์ผ๋ฐ์ ์ ๋๋ค:
| ์ ํ | ์์ | ์ฐธ๊ณ |
|---|---|---|
| .tex ๋ฌธ์ | article, report, book, beamer | ํ๋ฆฌ์ฐ๋ธ + ๋ณธ๋ฌธ์ ํฌํจํ ์ฃผ์ LaTeX ์์ค |
| ์ค๋ํซ | \section{}, \begin{proof}โฆ | ๋ฌธ์๋ ์ฌ๋ผ์ด๋์์ ์ฌ์ฉ๋๋ ์์ ์กฐ๊ฐ๋ค์ ์ ๋ฆฌํ๋ ๋ฐ ์ ํฉ |
| ์ ๋ ฅ ํ์ผ | chapter.tex, intro.tex | ๋ ๋ฆฝ์ ์ธ ์ฅ์ด๋ \input/\include๋ฅผ ํตํด ํฌํจ๋๋ ์น์ |
์์ ์ง์ ๋์
ํฌ๋งทํฐ๋ ์๋ฏธ๋ก ์ ๊ฒ์ฆ์ด ์๋ ๋ ์ด์์๊ณผ ๊ฐ๋ ์ฑ์ ์ค์ ์ ๋ก๋๋ค.
| ์์ญ | ์ํ ์์ | ์ํํ์ง ์๋ ์์ |
|---|---|---|
| ๋ค์ฌ์ฐ๊ธฐ | ํ๊ฒฝ, ์ค์ฒฉ ๊ตฌ์กฐ ๋ฐ ํน์ ๋งคํฌ๋ก ๋ณธ๋ฌธ์ ๊ตฌ์ฑ๋ ๋ค์ฌ์ฐ๊ธฐ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ค์ฌ์๋๋ค. | unified-latex๊ฐ ์ดํดํ๋ ๋ฒ์๋ฅผ ๋์ด ์ฌ์ฉ์ ์ ์ ๋งคํฌ๋ก์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ถ๋ก ํ์ง ์์ต๋๋ค. |
| ์ค ๋ฐ๊ฟ | ๊ธด ์ค์ ์ค ๋ฐ๊ฟ ๊ธธ์ด์ ๋ฐ๋ผ ๋ฐ๊พธ๊ฑฐ๋(0์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ๊ทธ๋๋ก ์ ์ง) ํฉ๋๋ค. | ๋ชจ๋ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น์ด๋ ๊น๊ฒ ์ค์ฒฉ๋ ๋งคํฌ๋ก์ ๋ํด ์๋ฒฝํ ์ค ๋ฐ๊ฟ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. |
| ์ฃผ์ | ์ฃผ์ ์ค๊ณผ ๋๋ถ๋ถ์ ์ธ๋ผ์ธ ์ฃผ์์ ์ ์๋ฆฌ์ ์ ์งํฉ๋๋ค. | ์ฃผ์ ํ ์คํธ๋ฅผ ํด์ํ๊ฑฐ๋ ๋ฆฌํฉํฐ๋งํ์ง ์์ต๋๋ค. |
| ์์ | ์์ ํ๊ฒฝ๊ณผ ์ธ๋ผ์ธ ์์์ ๊ทธ๋๋ก ์ ์งํ๋ฉฐ, ํ์์ ๋ฐ๋ผ ์ฃผ๋ณ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. | ์ํ์ ์ ํ์ฑ์ด๋ LaTeX ํจํค์ง ์ฌ์ฉ์ ๊ฒ์ฆํ์ง ์์ต๋๋ค. |
| ํ๋ฆฌ์ฐ๋ธ | \usepackage, \newcommand ๋ฑ ํ๋ฆฌ์ฐ๋ธ ์น์ ์ ์ผ๊ด๋ ๊ฐ๊ฒฉ์ผ๋ก ์์ ์ง์ ํฉ๋๋ค. | ํธํ์ฑ์ ์ํด ํจํค์ง๋ ๋ช ๋ น์ ์ฌ์ ๋ ฌํ์ง ์์ต๋๋ค. |
์ ํ ์ฌํญ ๋ฐ ์ฑ๋ฅ
ํฌ๋งทํฐ๋ ํ์ ๋ฐ ๊ธฐ์ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ ์ค์ ๋ฌธ์์ ๋ง๊ฒ ์กฐ์ ๋์์ต๋๋ค.
| ์ ๋ ฅ | ์ ํ | ์ฐธ๊ณ |
|---|---|---|
| ํ ์คํธ ํฌ๊ธฐ(ํธ์ง๊ธฐ) | โ 2 MB | ๋ธ๋ผ์ฐ์ ๋ฐ์์ฑ์ ์ ์งํ๊ธฐ ์ํด ํฌ๋งทํฐ์์ ์ ์ฉํ๋ ํ๋ ์ ํ์ ๋๋ค. |
| ํ์ผ ์ ๋ก๋ | โ 5 MB | UI ํ์ผ ํฌ๊ธฐ ์ ํ์ ์ํด ์ ์ด๋ฉ๋๋ค. |
| ์์ ์ง์ ์๊ฐ | < 1โ2์ด(์ผ๋ฐ์ ) | ๋ฌธ์ ๋ณต์ก๋์ ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. |
| ํ์์์ ๋์ | ์ฐ์ํ ์คํจ ์ฒ๋ฆฌ | ํฌ๋งทํ ์ด ํ์์์์ ์ด๊ณผํ๋ฉด, ํญ์ด ๋ฉ์ถ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. |
์์ ์ฑ & ๊ฐ์ธ์ ๋ณด ๋ณดํธ
ํ์ค ์ฌ์ฉ์ ๊ฒฝ์ฐ, ํฌ๋งทํ ์ Prettier + unified-latex ์ด๋ํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ์ง์ ์คํ๋ฉ๋๋ค. ์ผ๋ถ ํ๊ฒฝ์์๋ ๋ธ๋ผ์ฐ์ ๋ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์์ ๋ ๋ณด์ ๋ฐฑ์๋ ํฌ๋งทํฐ๊ฐ ๋์ฒด ์๋จ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ LaTeX์ ์ผ์์ ์ธ ์ ๋ ฅ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค: ํฌ๋งทํ ์๋ง ์ฌ์ฉ๋๋ฉฐ ์ปดํ์ผ๋๊ฑฐ๋ ์คํ๋์ง ์์ต๋๋ค.
๋ช ๋ น์ค LaTeX ํฌ๋งทํ ๋์
๋ก์ปฌ ๋๊ตฌ๋ฅผ ์ ํธํ๊ฑฐ๋ ํฌ๋งทํ ์ ๋น๋๋ CI ํ์ดํ๋ผ์ธ์ ํตํฉํ๊ณ ์ถ์ผ์ ๊ฐ์? ์ผ๋ฐ์ ์ธ ์ต์ ๋ค์ ์๊ฐํฉ๋๋ค.
๋ฆฌ๋ ์ค / ๐ macOS
latexindent๋ก LaTeX ํ์ผ์ ์ ์๋ฆฌ์์ ํฌ๋งท
latexindent -w main.texmain.tex๋ฅผ ํ์คํ๋ ๋ค์ฌ์ฐ๊ธฐ์ ๋ ์ด์์์ผ๋ก ์ฌ์์ฑํฉ๋๋ค.
ํ๋ก์ ํธ ๋ด ๋ชจ๋ .tex ํ์ผ ํฌ๋งท
find . -name "*.tex" -print0 | xargs -0 latexindent -wํ์ฌ ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ์ ๋ชจ๋ LaTeX ํ์ผ์ latexindent๋ฅผ ์ ์ฉํฉ๋๋ค.
Windows (PowerShell)
ํ์ฌ ํด๋์ ๋ชจ๋ .tex ํ์ผ ํฌ๋งท
Get-ChildItem -Filter *.tex | ForEach-Object { latexindent -w $_.FullName }PowerShell์ ์ฌ์ฉํ์ฌ ๊ฐ LaTeX ํ์ผ์ latexindent๋ฅผ ์คํํฉ๋๋ค.
์ค์ฉ์ ์ธ LaTeX ํฌ๋งทํฐ ์ฌ์ฉ ์ฌ๋ก
ํ์ ๋ ผ๋ฌธ & ํ์ ๋ ผ๋ฌธ
- ์ง๋๊ต์๋ ๊ณต๋ ์ ์์๊ฒ ๋ณด๋ด๊ธฐ ์ ์ ์ง์ ๋ถํ ์ด์์ ์ ๋ฆฌํฉ๋๋ค.
- ๊ธด ์น์ , ์ฆ๋ช , ๋ถ๋ก์ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ผ๊ด๋๊ฒ ์ ์งํฉ๋๋ค.
- Git์์ diff๋ฅผ ๊ฒํ ํ๊ธฐ ํจ์ฌ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ค ๊ธธ์ด๋ฅผ ์ ๊ทํํฉ๋๋ค.
% Before
\begin{proof}Let $G$ be a group with identity $e$... \end{proof}
% After (formatted)
\begin{proof}
Let $G$ be a group with identity $e$...
\end{proof}
Beamer ์ฌ๋ผ์ด๋ & ๊ต์ ์๋ฃ
- ์ฌ๋ฌ ํ๋ ์๊ณผ ์ค๋ฒ๋ ์ด๊ฐ ์๋ ์ฌ๋ผ์ด๋ ๋ฑ์ ์ ๋ฆฌํฉ๋๋ค.
- ์์ ์ฝ๋ ๋ธ๋ก๊ณผ ์ํ ํ๊ฒฝ์ ์กฐ๊ต๋ค์ด ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
- ์ํฌ์ต์ด๋ ๊ฐ์ ๋ ธํธ๋ฅผ ์ผ๊ด๋ ์คํ์ผ๋ก ์ค๋นํฉ๋๋ค.
\begin{frame}{Title}
\begin{itemize}
\item First point
\item Second point
\end{itemize}
\end{frame}
๋ณด๊ณ ์, ๋ฌธ์ & ๊ฐ๋ฐ์ ์ค์ฌ LaTeX
- ์ปค๋ฐํ๊ธฐ ์ ์ ์๋ ์์ฑ๋ LaTeX ๋ณด๊ณ ์๋ฅผ ํฌ๋งทํฉ๋๋ค.
- ๋ง์ ์ฝ๋์ verbatim ๋ธ๋ก์ด ์๋ ๊ธฐ์ ๋ฌธ์๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
- ํ ์ ์ฒด์์ ๋งคํฌ๋ก์ ํ๊ฒฝ ๋ ์ด์์์ ํ์คํํฉ๋๋ค.
\begin{verbatim}
$ git commit -m "cleaned tex formatting"
\end{verbatim}
โ Frequently Asked Questions
โ์ด ๋๊ตฌ๋ ์ LaTeX์ ์ปดํ์ผํ๋์, ์๋๋ฉด ์์ค๋ง ์ฌํฌ๋งทํ๋์?
๐งชํฌ๋งทํ ์ด ๋ฌธ์์ ์๋ฏธ๋ฅผ ๋ณ๊ฒฝํ ๊น์?
๐LaTeX ํ์ผ์ ์ผ๋ง๋ ์ปค์ผ ํ๋์?
๐ฆ์ฌ์ฉ์ ์ ์ ๋งคํฌ๋ก์ ํจํค์ง๋ฅผ ์ดํดํ๋์?
๐์ LaTeX ๋ฌธ์๊ฐ ์๋ฒ์ ์ ์ฅ๋๋์?
Pro Tips
ํ๊ฒฝ์ ์๊ฐ์ ์ผ๋ก ์ ๋ ฌํ์ธ์: \begin ๋ฐ \end ๋ธ๋ก์ ์ผ๊ด๋ ๋ค์ฌ์ฐ๊ธฐ๋ ๋ณต์กํ ์ฆ๋ช ๊ณผ ์ ๋๋ฅผ ํจ์ฌ ์ฝ๊ฒ ํ์ํ ์ ์๊ฒ ํฉ๋๋ค.
Git์ ์ปค๋ฐํ๊ธฐ ์ ์ ํฌ๋งทํฐ๋ฅผ ์คํํ์ฌ ๊ณต๋ ์ ์๊ฐ ๊ณต๋ฐฑ ๋ ธ์ด์ฆ ๋์ ๋ด์ฉ ๋ณ๊ฒฝ์ ๊ฒํ ํ๋๋ก ํ์ธ์.
fragile ๋ช ๋ น์ด๋ ์ฌ์ฉ์ ์ ์ ๋งคํฌ๋ก๋ก ์์ ํ ๋๋ ํ์ผ ์ฌ๋ณธ์ ๋จผ์ ํฌ๋งทํ๊ณ ์ฌ์ปดํ์ผํ์ฌ ๋ ์ด์์ ๋ณ๊ฒฝ์ด ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์น์ง ์๋์ง ํ์ธํ์ธ์.
์ด ์จ๋ผ์ธ ํฌ๋งทํฐ๋ฅผ ๋ก์ปฌ latexindent ๋๋ ํธ์ง๊ธฐ ํ๋ฌ๊ทธ์ธ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์์ ์๋ํ๋ LaTeX ํฌ๋งทํ ์ํฌํ๋ก๋ฅผ ๊ตฌ์ถํ์ธ์.
Additional Resources
Other Tools
- CSS ์ ๋ฆฌ ๋๊ตฌ
- HTML ์ ๋ฆฌ ๋๊ตฌ
- ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฆฌ ๋๊ตฌ
- PHP ์ ๋ฆฌ ๋๊ตฌ
- ์์ ์ ํ๊ธฐ
- ์คํ๋ผ์ดํธ ์ถ์ถ๊ธฐ
- Base64 ๋์ฝ๋
- Base64 ์ธ์ฝ๋
- C# ํฌ๋งทํฐ
- CSV ํฌ๋งทํฐ
- Dockerfile Formatter
- Elm ํฌ๋งทํฐ
- ENV ํฌ๋งทํฐ
- Go ํฌ๋งทํฐ
- GraphQL ํฌ๋งทํฐ
- HCL ํฌ๋งทํฐ
- INI ํฌ๋งทํฐ
- JSON ํฌ๋งทํฐ
- ๋งํฌ๋ค์ด ํฌ๋งทํฐ
- Objective-C ํฌ๋งทํฐ
- Php Formatter
- ํ๋กํ ์ฝ ๋ฒํผ ํฌ๋งทํฐ
- Python ํฌ๋งทํฐ
- Ruby ํฌ๋งทํฐ
- Rust ํฌ๋งทํฐ
- Scala ํฌ๋งทํฐ
- ์ ธ ์คํฌ๋ฆฝํธ ํฌ๋งทํฐ
- SQL ํฌ๋งทํฐ
- SVG ํฌ๋งทํฐ
- Swift ํฌ๋งทํฐ
- TOML ํฌ๋งทํฐ
- Typescript Formatter
- XML ํฌ๋งทํฐ
- YAML ํฌ๋งทํฐ
- Yarn ํฌ๋งทํฐ
- CSS ์์ถ๊ธฐ
- Html Minifier
- Javascript Minifier
- JSON ์์ถ๊ธฐ
- XML ์ต์ํ ๋๊ตฌ
- HTTP ํค๋ ๋ทฐ์ด
- PDF ํ ์คํธ ๋ณํ
- ์ ๊ท์ ํ ์คํฐ
- ๊ฒ์ ์์ ํ์ธ๊ธฐ
- Whois ์กฐํ