.tex에서 .odt 변환하기

Nova De Hi

July 2, 2011

Abstract

.tex에서 .odt로 변환하는 것에 대한 간단한 실험이다. Gurari 박사의 tex4ht를 이용하는 방법과 pandoc에 의하는 두 가지 방법을 시험하였다.

1 들어가기

이 문서는 변환을 위하여 준비한다. 이 문서에는 적당한 양의 한글 텍스트와 약간의 수식, 그리고 그림과 표 정도를 포함할 것이다.

2 문서요소

2.1 그림

그림은 어차피 외부 그림을 사용할 수밖에 없다. 그러나 tikz라든가 pstricks라든가 복잡한 그림들은 거의 대부분 적당히 변환되지 않을 수도 있다고 보아야 할 것이다.

외부 그림을 삽입하는 것은 잘 처리할 것이다.


PIC

Figure 1: 바탕화면

이 그림 ??은 윈도우 배경화면 중 하나이다.

2.2

사실 표는 큰 문제이다. 적절한 표를 잘 만드는 것도 어렵거니와 이것을 구성하는 데도 상당한 노력이 들어간다. 실로 n × m 표만을 그려야 한다면 얼마나 좋겠는가.


Table 1: 표 샘플
멀티 컬럼으로 만드는 셀



테스트를 위하여 긴 텍스트를 입력한



이번에는 멀티로우
ABCDE tabu의 좋은 점은 텍스트가 길어지면 적당히 줄바꿈을 해준다는 거.


ABCDE 이 셸은 비워둔다.




그래도 표 ?? 정도면 제법 훌륭한 그림이 되지 않는가 한다.

2.3 수식

간단한 수식을 적기 위하여 위키백과사전을 참고하기로 하였다.

2차원 선형 차분방정식으로 피보나치 수열을 기술하면

(Fk+2)   (1   1)(Fk+1 )
 Fk+1  =   1  0    Fk

F⃗k+1 = AF⃗k.

행렬 A의 고유값(eigenvalue)는 φ와 (1 φ)이고, A의 고유벡터의 element는 (  )
  φ
  1(   )
  1
 − φ이다.

이 사실로부터 피보나치 수열의 n번째항의일반형을직접도출할수있다.

         (    √ -)n       (    √ -)n
Fn = √1-⋅  1+---5   − √1-⋅  1−---5   .
       5     2          5     2

이 행렬의 행렬식은 1이므로 2 × 2 unimodular 행렬이다. 이 속성은 황금비율의 연분수 표현식으로 이해할 수 있다.

φ = 1 + ----1-----
           ---1--
        1+     1
           1 + .--
                ..

행렬 표현은 피보나치 수에 대하여 다음 등식을 성립시킨다.

(    )    (           )
 1  1  n    Fn+1   Fn
 1  0   =    Fn   Fn−1

양변의행렬식을취하면다음과같은카시니의항등식이나타난다.

(− 1)n = Fn+1Fn−1 − F2n

3 간단한 감상

한글 문서의 상황이므로, 순수하게 영문만으로 된 문서는 다음과 좀 다른 결과를 낼는지 모른다. 그러나 그건 관심밖.

tex4ht를 통하는 경우

  1. article 이외의 클래스에서 성공하지 못했다. memoir는 물론 실패.
  2. 텍스트는 한글을 포함해서 잘 변환된다. 적어도 텍스트 변환에서 어려움은 없는 듯
  3. 표는 tabular만. tabu따위는 잘 안 된다.
  4. pstricks, tikz 그림은 모두 실패. 외부 삽입 그림만 가능했다.
  5. 수식의 경우... amsmath 수식보다는 latex 수식이 더 안전하게 변환되었다. 그러나 대체로 수식 변환은 납득할 만하다. 변환된 수식은 libreoffice 내에서 편집이 가능하였다.

pandoc을 통한 경우 이 유틸리티는 그냥 아무것도 안 한다고 보면 된다. 모르는 매크로는 그냥 넘어간다. 얼마나 속편한 방식이냐! 수식의 경우 차라리 아무것도 변환하지 않는다면... mathjax의 은총을 입는 방법도 없으란 법이 없다.