KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will be recognized and honored as a community leader.
FrontPage › WinEdtTip/Tree편집

목차

1 WinEdt Project Tree
2 include와 input의 차이
3 부분 컴파일 기능
4 Project Tree와 관련한 기능
4.1 includeonly
4.2 Find in Files
5 그 외

1 WinEdt Project Tree


WinEdt에는 Project Tree라 하여 책이나 긴 글을 쓸 때 편리한 기능(KTUGContrib:46)이 있습니다. Project Tree란 아래 그림과 같이 WinEdt 창을 나누어 왼쪽에 작업 문서의 구조를 수형도(樹型圖: Tree)로 나타나게 하는 기능입니다.

lshotr_kr_tree.png

(!) 그림 설명: lshort-kr에서 [http]lshort-kr TeX 원본 파일을 클릭하면 "LaTeX2e 입문"의 소스 파일인 lshort-kr.tex이 들어 있는 lshort-kr-src.tar.gz이 다운로드됩니다. 이것을 풀면 lshort-kr 폴더가 생기고 그 속에 있는 많은 파일들이 있습니다. WinEdt가 깔려 있는 경우 이들 중에 lshort-kr.tex을 클릭하면 WinEdt 창에 뜹니다. 이때 WinEdt의 단추들 중에 녹십자가 있는 단추에 커서를 가져가면 "Set Main File"이라는 풍선도움말이 뜹니다. 이 단추를 누르면 WinEdtWinEdt 창에 활성화되어 있는 파일을 읽고 Project Tree를 만듭니다. TeXify한 다음 "Project Tree" 단추를 클릭하면 그림의 왼쪽에 나타난 것과 같이 Project Tree가 나타납니다. 위의 그림에서 처럼 Project Tree에는 파일들(title, contrib, overview, things, typeset, math, lssym, spec, custom, biblio)이 나타나는 데 이 파일들은 메인 파일(위의 그림에서 오른 쪽에 열려 있는 파일)에서 \include{title}, \include{contrib} 등으로 편집되어 있기 때문입니다. 또 맨마지막에 있는 aterword.tex은 "input aterword.tex"으로 불렀기 때문입니다. 컴파일 전과 컴파일 후의 Tree에 나타나는 것이 다릅니다. 컴파일한 다음 Project Tree를 열면 TOC 파일 내의 Tree도 보여 줍니다(그림 참조).

2 include와 input의 차이

Q: (From KTUGOperate:15073) 안녕하세요? 다음과 같은 것이 궁금하네요. 예를들어 example.tex라는 파일이 있구요. 이것을 main 파일에서 \include{example}해서 부르는 거랑 \input{example.tex}해서 호출하는 것과 어떤 차이가 있는지요. include를 쓰면 따로 따로 컴파일을 하는것 같아서 해당 디렉토리에 example.aux라는 파일도 생기던데요. 이렇게되면 디렉토리 내부가 지저분해져서, 저는 input을 주로 사용하는데요. 위의 질문과 각각의 장단점을 아시면 부탁 드립니다. 그럼~~

A1: [http]lshort-kr.pdf의 15쪽(화면으로는 29쪽)에 보면 "\include{filename}으로 삽입되는 부분을 처리할 때는 새로운 쪽에서 시작하고 \input{filename}으로 삽입되는 부분을 처리할 때는 페이지 조절이나 문자 추가를 전혀 하지 않고 삽입된 위치에서 한다고 하였습니다. 그래서 책을 쓸 때 장(章)별 Chapter Head를 별도의 페이지로 만들고 싶으면
\chapter{장의 제목}
장에 관련한 설명
\include{파일 이름}%include 파일 내에 명령어 \chapter{...}를 넣지 말 것
\chapter{장의 제목}
장에 관련한 설명
\include{파일 이름}%include 파일 내에 명령어 \chapter{...}를 넣지 말 것
...
와 같이 main 파일에 입력하면 됩니다. \include 대신 \input을 쓰면 Chapter Head는 별도의 페이지로 되지 않고 Chapter Head에 이어서 input 파일의 내용이 조판됩니다. 또 \include{}는 여러 개 썼더라도 \includeonly{filename}[1]에 한 개 또는 몇 개만 선택하여 넣으면 출력 파일에서는 \includeonly{}에 포함한 것만 보여줍니다. 쪽 번호, 장-절 번호, 표 번호, 그림 번호 등 여러 가지 번호(자동 번호 매기기에서 주어지는 번호)는 바뀌지 않습니다. "쪽 레이아웃"(그림의 위치 표의 위치 등)도 바뀌지 않습니다. 각각의 include 파일은 마치 독립적인 파일처럼 컴파일됩니다. 그래서 aux 파일도 별도로 생깁니다. 만약 \input 파일은 컴파일 때 제외하고 싶으면 일일이 주석(%) 처리하여야 합니다. 이 때 "쪽 레이아웃"(그림의 위치, 표의 위치 등)도 바뀝니다. input 파일은 마치 메인 파일의 일부분처럼 컴파일됩니다. 그래서 별도의 aux 파일도 생기지 않습니다. 또 \input을 쓸 때는 일일이 확장자를 쓰는 것으로 보아서 확장자가 tex이 아니라도 될 것 같습니다.

A2: 참고문헌만들기에서 chapterbib 패키지를 쓰서 "장(章)별 문헌 목록" 만들기를 할려면 \include{}를 쓰라고 하였습니다.

----
  • [1] 명령어 \includeonly{filename}는 프리앰블에서만 쓸 수 있습니다. 만약 \include{} 앞에 %를 넣어 해당 파일을 주석하면 그 파일은 Project에 포함되지 않기 때문에 쪽 번호, 장-절 번호, 표 번호, 그림 번호 등 자동 번호 매기기에서 주어지는 번호는 새로운 상황에 따라 바뀝니다.

3 부분 컴파일 기능


"부분 컴파일 기능"은 "Project Tree"의 기능은 아니지만 긴 소스 파일을 입력할 때 쓸 수 있는 편리한 기능입니다. 현재 작업(입력 또는 교정)하고 있는 부분이 잘 되었는지 부분적으로 컴파일하는 기능(Compile Selected Block (Shift+Ctrl+C): 컴파일하고 싶은 부분을 선택(파란 바탕에 흰 글씨로 변합니다.)하고 황금 사자머리(TeXify) 단추 바로 밑에 "흰 사자머리" 단추를 누르면 그 부분만 컴파일됩니다. 이때 자동 번호 매기기(그림 번호, 수식 번호 등)는 제대로 되지 않습니다. 입력이 제대로 되었는지만 체크합니다. 전체 적인 Project에는 변함이 없습니다.

4 Project Tree와 관련한 기능

4.1 includeonly


문서를 만든 도중에 매번 전체 문서를 컴파일하는 것은 매우 귀찮은 일입니다. 이 때는 위 그림의 오른쪽 윗줄에 있는 것 처럼 메인 파일에 \includeonly{}을 입력하여 두고 {} 속에 한 개 또는 몇 개의 파일만 넣고 컴파일할 수 있습니다. 하나도 넣지 않으면 메인 파일만 컴파일됩니다. 만약 전체를 컴파일하고 싶으면 \includeonly를 주석 처리(%를 앞에 붙이는 일)하면 됩니다.

/!\ 가령 메인 파일에 장-절의 명령, 머리말-꼬리말, 목차 만들기, 인덱스 만들기, 어떤 환경의 장치 등을 바꿔 다시 컴파일하면 각 include 파일에 들어 있는 aux 파일이 다시 만들어지지 않기 때문에 장치의 변경에 따른 레이아웃이 바뀌지 않습니다. 그래서 이 경우 include 파일에 딸린 aux 파일을 지우고 전체적으로 다시 컴파일하여야 합니다.

4.2 Find in Files

Q: (From KTUGOperate:17676) 어떤 string을 검색할 때 모든 연결문서들을 다 열어두지 않은 상태에서 include나 input으로 연결된 문서까지 함께 검색하도록 할 수 있나요? Find 옵션에 "All files in project"라는 게 보이긴 하는데 project에 어떤 파일들이 속하는지 미리 그 리스트를 수작업으로 등록시켜주는 작업이 먼저 필요할 것같은 생각도 드는데...

A1: 리스트를 수작업으로 등록시켜주는 작업을 할 수 있는지 모르겠습니다. 한 번만 "Main File"을 지정(Set Main File)하고 아래 그림과 같이 Project Tree를 열어 두고 Find in Files 기능을 쓰면 됩니다. 그 다음부터는 Project Tree를 열어 두지 않아도 됩니다.

find_in_project1.png

5 그 외


(!) WinEdt에는 컴파일할 때 어떤 특별한 작용을 하지 않지만 Project Tree에 수형도(樹型圖: Tree)의 가지(branch)로 나타나게 하는 기능이 있습니다. 예를 들어 설명하겠습니다. 메뉴에서
 Document -> Current Work (Samples) -> PhD Thesis
를 클릭하면 WinEdt 창에 Thesis.tex 파일이 열립니다. 이 파일의 거의 끝부분에 가면
 %GATHER{xBib.bib}   % For Gather Purpose Only
 %GATHER{Thesis.bbl} % For Gather Purpose Only
이 있습니다. 이것이 Project Tree에 xBib.bibThesis.bbl이 나타나게 하는 장치입니다. Thesis.tex 파일은 Project의 한 예입니다.

WinEdt에서 Project Tree를 이용한 TeX편집(편집상의 기교 포함)은 KTUGContrib:46을 참조하십시요.


WinEdtTip Project

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-07-08 13:06:22
Processing time 0.0538 sec