Anki에서 특수 기호와 수식 작성을 위한 레이텍(LaTeX)


레이텍( LaTeX)은 조판 프로그램입니다. , 책자, 프로그램, 논문, 단행본 등 다양한 출판물을 인쇄하기 위하여 사용되는 프로그램입니다. 한 번도 들어보지 못한 생소한 프로그램이라 일부 사람들만 쓰는 프로그램이겠거니 생각했는데, 놀랍게도 논문을 쓸 때, 거의 반드시 레이텍( LaTeX)으로 써야할 정도로 이미 그 중요성과 효용성을 인정받은 대단한 프로그램이었습니다.

 

 아무리 대단한 프로그램이라고 해도 논문을 쓰지 않을 저와는 무관합니다만, Anki 때문에 인연이 닿게 되었습니다. Anki로 이공계 과목을 공부하려고 할 때, 부딪히게 되는 장애가 있습니다. 바로, 수학식, 공식, 함수, 분수 등을 Anki의 텍스트 툴로는 표현하기 어렵다는 문제입니다. , 발음기호, 그리스 문자 등 특수 기호를 Anki에 넣기도 어렵다. 물론, 웹에서 이미지를 찾거나 다른 수식 작성 프로그램으로 수식을 작성해서 이미지로 넣을 수는 있지만 너무 번거롭고 Anki 내부에서 배치하기도 쉽지 않아서 결국, Anki 매뉴얼에서 추천하는 레이텍( LaTeX)을 사용하는 방법이 최선이라고 생각하게 되었습니다. 물론, 수식 외에도 그래프, 화학 기호, 분자식 등 다양하게 활용할 수 있어서  레이텍( LaTeX)을 익히기로 마음먹게 되었습니다. 


 이번에 올린 내용은 레이텍( LaTeX) 기초에서 수식 작성까지에만 정리된 내용입니다. 그래프, 화학 기호, 분자식 까지 가고 싶었지만 일단, 필요한 부분에만 집중하기로 했습니다. 

 

 레이텍( LaTeX) 공부 교재는 KTUG에서 권장하고 있는 lshort-ko 문서입니다. 이 중 수식에 대한 설명을 하고 있는 제3장 수학식 조판 까지만 공부했고 그 내용을 Anki의 카드로 정리했습니다.

 

 단순 암기 위주로 작성되어 있기 때문에 따로 설명을 위한 Ankilog를 만들지는 않았습니다. 전체 내용을 확인하고 싶다면  lshort-ko 를 참조해주시기 바랍니다.

 

 마지막으로  레이텍( LaTeX)은 Anki에서 사용하기 위한 용도이므로 Anki에서 작동하는 것을 확인한 내용 위주로 정리했습니다. 그래서, 실제 매뉴얼에서 누락된 부분도 조금 있으니 유의하여 주시기 바랍니다.

     


Ankilog 모음


다음 파일을 다운 받아 사용하시면 됩니다.


레이텍(LaTeX)_수식조판까지.apkg


'자료실 > IT공부 Ankilog 모음' 카테고리의 다른 글

vim 기초사용법 Ankilog 모음  (0) 2019.07.27

문서는 Anki 2.0 유저 매뉴얼을 번역한 문서입니다.


기본적으로 구글 번역을 통해서 초벌을 번역하고 이를 수정하는 방식으로 번역했습니다. 


또한, 본문에 충실한 직역보다는 매뉴얼을 숙지하기 쉽도록 의역 위주로 번역하였습니다.


 


Anki 매뉴얼 전체 개요 페이지 가기



 LaTex Support(LaTex 지원)

 

 

LaTex conflicts(LaTex 충돌)

 

 

수학 방정식을 LaTex로 표시하면 LaTeX 코드에 이중 중괄호인 {{ }} 가 나타나는 것은 드물지 않다.

 

이러한 경우 필드를 조건부 대체할 때 사용하는 이중 중괄호 충돌할 수 있다.

 

LaTeX 수학 방정식이 Anki의 필드 대체와 충돌하는 일을 방지하기 위해 분리 기호를 다른 것으로 변경할 필요가 있다.

 

 

예를 들어 템플릿에 아래와 같이 작성되어 있는 경우 :

 

{{latex field}}

 

 

이 작성된 내용을 다음과 같이 변경하면 LaTeX 충돌할 가능성이 줄어들 것이다.

 

{{=<% %>=}}

<%latex field%>

 

 

이러한 충돌 상황은 대부분 LaTeX에서 발생하는 것이 사실이지만, 여기 제시된 해결책은 LaTeX의 사용 여부와 관계없이 카드에 이중 중괄호 {{ }}을 포함해야하는 모든 상황에 적용할 수 있다.

 

 

그런데 빈칸 만들기(Cloze deletion)를 사용할 때 빈칸을 표시하는 용도로 사용되는 이중 중괄호는 위에서 설명한 것처럼 이를 변경할 수 없다.

 

대신 이런 경우에는 빈칸(Cloze)을 나타내는 이중 중괄호가 아닌 LaTex에 사용된 임의의 이중 중괄호에서 두 개의 중괄호 사이에 공백을 넣으면 된다.

 

 

다음의 예제를 보자.

 

첫 번째 예제는 작동하지 않고 그 다음 예제는 작동한다.

 

어떤 차이가 있는가? 공백을 찾았는가?

 

{{c1::[$]\frac{foo}{\frac{bar}{baz}}[/$] blah blah blah.}}

 

{{c1::[$]\frac{foo}{\frac{bar}{baz} }[/$] blah blah blah.}} 

 

LaTeX는 수학 모드에서 공백을 무시하므로, 방정식은 문제없이 동일하게 나타날 것이다.

 

 

 

 

Unsafe commands(안전하지 않은 명령문)

 

 

Anki는 카드나 템플릿에 \input이나 \def 같은 특정 명령이 사용되는 것을 허용하지 않는다.

 

왜냐하면 이러한 명령어 사용을 허용하면 악의적인 공유 카드뭉치에 의해서 시스템이 손상될 수 있기 때문이다.

 

(안전을 위해서 이러한 명령어들은 주석에서도 사용할 수 없도록 금지되어 있다. 만일 이에 관련된 오류가 발생했지만 자신이 그러한 명령어를 사용하지 않았다고 생각되면 머리글, 템플릿 및 주석에 있는 주석을 다시 확인해야 한다.)

 

이 명령을 사용해야 할 경우 시스템 패키지에 이를 추가하고 앞서 설명한대로 해당 패키지를 가져와야 한다.




Anki 매뉴얼 전체 개요 페이지 가기



문서는 Anki 2.0 유저 매뉴얼을 번역한 문서입니다.


기본적으로 구글 번역을 통해서 초벌을 번역하고 이를 수정하는 방식으로 번역했습니다. 


또한, 본문에 충실한 직역보다는 매뉴얼을 숙지하기 쉽도록 의역 위주로 번역하였습니다.


 



Anki 매뉴얼 전체 개요 페이지 가기




 LaTex Support(LaTex 지원)

 

 

LaTex packages(LaTex 패키지)

 

 

AnkiLaTeX의 파일 첫머리의 머릿글 부분(preamble)을 조정할 수 있게 하여 화학, 음악 등에 대한 맞춤 패키지를 가져오기(import) 할 수 있다.

 

예를 들어, 인터넷에서 아래와 같은 chemtex에 대한 예제 파일을 찾았다고 가정해보자.

 

\documentclass[a4paper,12pt]{report}

\usepackage{chemtex}

\begin{document}

 

\initial

\begin{figure}[h]\centering

\parbox{.3\textwidth}{\ethene{H}{H$_3$C}{CH$_3$}{Br}}

\hfil

\parbox{.3\textwidth}{\cbranch{H}{S}{H}{S}{C}{S}{}{S}{H}

\xi=-200 \cright{}{Q}{C}{D}{O}{S}{OH}}

\hfil

\parbox{.3\textwidth}{\hetisix{Q}{Q}{Q}{Q}{Q}{Q}{O}{Q}{O}

\xi=-171 \fuseup{Q}{Q}{Q}{Q}{D}{Q}{D}{Q}{D}}

\caption{Chemie mit {\tt CHEMTEX}\label{a1}}

\end{figure}

 

\end{document}

 

 

우선 패키지의 설명서 및 MiKTeX/MacTex의 설명서에 따라 패키지를 설치하라.

 

위에 제시된 코드를 .latex 파일에 넣고 콘솔의 명령 행에서 컴파일 할 수 있는지 테스트하여 패키지가 제대로 작동하는지 확인한다.

 

일단, 패키지가 제대로 작동하는 것을 확인했다면 이제 이를 Anki와 통합할 수 있다.

 

 

Anki에서 패키지를 사용하려면 우선 메인 창에서 "추가"를 클릭하여 노트 추가창을 연다.

 

 

 

노트 추가창에서 노트 유형을 고를 수 있는 버튼을 클릭하여 노트 유형 선택창을 연다.

 

 

 

노트 유형 선택창에서 다시 "관리"버튼을 클릭 하여 노트 유형 관리창을 연다.  

 

 

 

노트 유형 관리창에서 사용할 노트 유형을 선택하고 "옵션"을 클릭한다.

 

 

 

 

선택한 기본 노트 유형의 옵션으로 LaTeX 머리글과 바닥글이 표시된다.

 

 

 

머릿글은 다음과 같이 나타날 것이다.

 

\documentclass[12pt]{article}

\special{papersize=3in,5in}

\usepackage{amssymb,amsmath}

\pagestyle{empty}

\setlength{\parindent}{0in}

\begin{document}

 

chemtex를 사용하려면 위의 머릿글에 usepackage 행을 추가해야 한다.

 

그러면 다음과 같이 표시된다.(기존의 머릿글에서 빨간 색으로 표시된 행이 추가되었다.)

 

\documentclass[12pt]{article}

\special{papersize=3in,5in}

\usepackage{amssymb,amsmath}

\usepackage{chemtex}

\pagestyle{empty}

\setlength{\parindent}{0in}

\begin{document}

 

 

머릿글에 행을 추가한 이후에 Anki 카드에 다음과 같은 라인을 포함시킬 수 있어야 한다.

 

[latex]\ethene{H}{H$_3$C}{CH$_3$}{Br}[/latex]




Anki 매뉴얼 전체 개요 페이지 가기



문서는 Anki 2.0 유저 매뉴얼을 번역한 문서입니다.


기본적으로 구글 번역을 통해서 초벌을 번역하고 이를 수정하는 방식으로 번역했습니다. 


또한, 본문에 충실한 직역보다는 매뉴얼을 숙지하기 쉽도록 의역 위주로 번역하였습니다.


 


Anki 매뉴얼 전체 개요 페이지 가기




 LaTex Support(LaTex 지원)

 

LaTeX은 수학 공식, 화학 공식, 음악 표기 등을 입력할 수 있는 이상적이고 강력한 조판 시스템이다.

 

AnkiLaTeX을 어느 정도 지원하여 노트에 LaTeX 코드를 입력 할 수 있게 하고 있다.

 

기본적으로 카드를 학습할 때 AnkiLaTeX를 호출하고 그로 인하여 생성된 이미지를 표시하는 방식으로 사용한다.

 

 

 

Installing and Assumed Knowledge(설치 및 알고 있어야 할 내용들)

 

 

AnkiLaTeX을 지원하는 방식은 그냥 자동적인 것이 아니다.

 

오히려, 이미 LaTeX 사용 방법을 충분히 숙지하고 있고, LaTeX가 컴퓨터에 설치되어 있다고 가정하고 지원하는 것이다.

 

그러니 LaTeX을 쓸 줄 모른다면 제발 인터넷에서 제공되는 많은 가이드 중 하나를 참조하길 바란다.

 

그리고 마크업에 문제가 있는 경우 LaTeX 포럼에 문의하길 바란다.

 

 

LaTeX을 설치하려면 Windows에서 MiKTeX을 사용해야 한다.

 

OSX에서는 MacTex를 사용하고 Linux에서는 배포자의 패키지 관리자를 사용한다.

 

Dvipng도 설치해야 한다.

 

 

< 주 의 >

 

Windows에서는 MikTek의 관리창에 있는 설정으로 이동하여 "즉석에서 누락된 패키지 설치" 옵션의 설정이 "먼저 물어보기"가 아니라 "아니오"로 설정되어 있는지 확인해야한다.

 

만일, 계속해서 문제가 발생했을 때 어떤 사용자는 도움을 받아 모든 패키지를 가져와서 설치할 때까지 Anki를 관리자 권한으로 실행한 것으로 보고한 바 있다.

 

 

< 주 의 >

 

OSX에서 LaTeXMacTex BasicTex에서만 테스트되었다.

 

BasicTex를 사용하는 경우 다음 명령을 사용하여 dvipng을 별도로 설치해야한다.

 

sudo tlmgr update --self; sudo tlmgr install dvipng

 

 

명령이 경로에 없을 수 있으므로 다음과 같이 전체 경로를 제공해야 할 때도 있다.

(: /usr/local/texlive/2014basic/bin/x86_64-darwin/tlmgr)

 

< 주 의 >

 

위에서 언급한 LaTeX 패키지를 사용하지 않는 경우 latex dvipng의 전체 경로를 지정하려면 "LaTeX 편집" 추가 기능을 사용해야한다

 

 

 

LaTex on Web/Mobile(웹 및 모바일에서 LaTex)

 

LaTeX이 올려진 카드를 학습할 때, Anki는 해당 LaTeX에 대한 이미지를 생성하고 그 이미지를 해당 컬렉션의 미디어 폴더에 저장하여 나중에 사용할 수 있도록 한다.

 

웹 및 모바일 클라이언트에서는 이미지가 이미 존재할 경우 해당 이미지를 표시하지만, 이미지를 자체적으로 생성 할 수는 없다.

 

이런 상황에서 웹이나 모바일 클라이언트에서 해당 이미지를 공유하려면 카드를 적어도 한번 전부 학습해서 이미지를 전부 생성해야할 판이다.

 

이런 상황을 피하려면 Anki가 이미지를 대량으로 생성 할 수 있음을 알고 있어야 한다.

 

모든 이미지를 생성하려면 도구 미디어 검사를 클릭하면 된다.

 

그런 다음 동기화를 실행하면 생성된 미디어가 AnkiWeb 및 다른 클라이언트에 업로드 된다.

 

 

 

Example(사례)

 

 

LaTeX 컨텐츠를 입력하는 가장 일반적인 방법은 그 컨텐츠를 [latex] [/latex] 태그로 둘러싸는 것이다.

 

이 부분에 대한 바로 가기 버튼이 편집기 섹션에 있다.

 

 

 

Warning

 

[latex] 태그는 필드 내부에서만 사용되어야 한다.

 

카드 템플릿에 배치하면 문제가 발생할 수 있다.(카드와 템플릿 섹션의 미디어 및 LaTeX 참조 편)

 

 

예를 들어 Anki 플래시 카드의 앞면 필드에 다음과 같이 입력해보자.

 

Does [latex]\begin{math}\sum_{k = 1}^{\infty}\frac{1}{k}\end{math}[/latex] converge?

 

그러면 플래시 카드에는 다음과 같은 이미지가 생성된다.

 

 

위의 경우에 사용된 수식은 텍스트 수식이라고 부른다.

 

왜냐하면 수식이 비수학적인 텍스트 내에 배치되어 표시되기 때문이다.

 

반대로 다음과 같이 입력하면 표시된 수식을 보여준다.

 

Does the sum below converge?

 

[latex]\begin{displaymath}\sum_{k = 1}^{\infty}\frac{1}{k}\end{displaymath}[/latex]

 

 

텍스트 수식과 표시 수식은 LaTeX이 가장 일반적으로 사용하는 형식이므로Anki는 해당 형식의 축약 된 버전을 제공한다.

 

아래에 나타난 양식의 표현식은

 

[latex]\begin{math}...\end{math}[/latex]

 

다음과 같이 단축될 수 있다.

 

[$]...[/$]

 

, 아래에 나타난 양식의 표현식도

 

[latex]\begin{displaymath}...\end{displaymath}[/latex] 

 

다음과 같이 단축될 수 있다.

 

[$$]...[/$$]

 

 

예를 들어, 앞서 보여주었던 사례에서 표시된 두 개의 LaTeX 발췌문은 각각 다음과 같이 축약할 수 있다.

 

Does [$]\sum_{k = 1}^{\infty}\frac{1}{k}[/$] converge?

  

Does the sum below converge?

 

[$$]\sum_{k = 1}^{\infty}\frac{1}{k}[/$$]

 



Anki 매뉴얼 전체 개요 페이지 가기



문서는 Anki 2.0 유저 매뉴얼을 번역한 문서입니다.


기본적으로 구글 번역을 통해서 초벌을 번역하고 이를 수정하는 방식으로 번역했습니다. 


또한, 본문에 충실한 직역보다는 매뉴얼을 숙지하기 쉽도록 의역 위주로 번역하였습니다.


 


Anki 매뉴얼 전체 개요 페이지 가기




Cards and Templates

 

 

 

 Media & LaTex References(미디어 및 LaTeX 참조)

 

 

Anki는 미디어를 참조하기 위하여 템플릿을 검색하거나 하지 않는다.

 

그렇게 하면 느리기 때문이다.

 

템플릿에 미디어를 집어넣으려면 이러한 점을 숙지하는 것이 좋다.

 

 

<고정된 소리와 이미지>

 

회사의 로고를 각 카드의 상단에 배치한다거나 하는 식으로 모든 카드에 동일한 이미지나 사운드를 카드에 집어넣으려면 다음과 같이 하면 된다.

 

1. "_logo.jpg"와 같이 밑줄로 시작하도록 파일의 이름을 변경한다. 밑줄은 이 파일이 템플릿에 사용되는 파일이고, 따라서

   만일 카드뭉치를 공유하기 위하여 내보내기를 할 때 같이 내보내져야 한다는 것이다.

   (AnkiWeb에서 공유된 카드뭉치에는 해당 미디어가 전부 포함되어 있다.)

 

2. 앞면 또는 뒷면의 템플릿에 아래와 같이 이 미디어에 대한 참조를 추가하라.

 

           <img src="_logo.jpg">

 

미디어를 추가할 때, 미디어 파일이 Anki2의 계정에 따른 collection.media 폴더에 저장되어 있어야 한다.

 

 

<필드 참조>

 

필드는 참조할 미디어로 사용할 수 없다.

 

만일 참조할 미디어로 필드를 사용할 경우 학습 중에 표시될지 여부도 불분명하고, 사용되지 않는 미디어를 확인하기 위한 미디어 검사나 가져오기/내보내기 등의 작업을 할 때에도 제대로 작동하지 않는다.

 

다음은 작동하지 않는 필드 참조 사례이다.

 

           <img src="{{Expression}}.jpg">

            [sound:{{Word}}]

            [latex]{{Field 1}}[/latex]

 

반대로 필드에는 미디어 참조를 포함시켜야 한다.

 

더 자세한 내용은 가져오기 섹션을 참조하길 바란다.



Anki 매뉴얼 전체 개요 페이지 가기



+ Recent posts