
내 노트북(OS X)과 워크스테이션(Linux RHEL 6)에서 TeX를 사용하고 있으며 악센트를 사용하는 일부 파일의 인코딩에 문제가 있습니다(대부분 저자 이름이지만 프랑스어이고 일부 악센트가 있기 때문입니다). 프랑스어 문서). 내 문제는 예를 들어 수행하는 대신 é와 같은 악센트 문자를 직접 사용하기 위해 Mac 측의 보다 유연한 인코딩에 의존하는 경우가 있다는 것입니다 {\'{e}}
. 그런 다음 Dropbox를 통해 또는 UNIX에서 이 파일을 열었기 때문에 이러한 악센트가 양쪽에서 다르게 엉망이 되어 양쪽에서 서로 다른 모양의 파일 2개를 얻습니다. 이스케이프 방법만 사용하면 이 모든 문제를 해결할 수 있다고 확신하지만 좀 더 우아한 작업을 수행할 수도 있습니다(어쩌면 . tex
파일과 . 파일 모두에서 인코딩을 명시적으로 설정해야 할 수도 있습니다 vi
). TeXshop과 같은 다른 편집기로 가면 어떻게 되는지 잘 모르겠습니다...
내 문제에 대한 몇 가지 조언이나 더 우아한 해결책이 있습니까? 더 많은 정보가 필요하면 알려주세요! 감사해요 !
업데이트: 제공된 몇 가지 지침 덕분에 이제 문제에 대해 조금 더 알게 되었습니다. 문제를 재현하기 위해 작은 샘플 파일을 만들었습니다. TeXShop에서 생성하면 제대로 작동하는 것 같지만 vim으로 파일을 생성하면 문제가 발생합니다. 또한 file --mime-encoding test.tex
파일 생성 방법에 따라 다른 출력이 생성됩니다.
$ file --mime-encoding test.tex
test.tex: unknown-8bit
$ file --mime-encoding test2.tex
test2.tex: utf-8
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test.tex
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test2.tex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
\title{Test encoding}
\maketitle
Test accents: é è ê ë
\begin{verbatim}
Test accents: é è ê ë
\end{verbatim}
Test accents: \'{e} \`{e} \"{e}
\begin{verbatim}
Test accents: \'{e} \`{e} \"{e}
\end{verbatim}
\end{document}
utf-8을 사용하여 TeXShop에서 생성한 파일을 사용하더라도 @Daniel이 설명한 상태 표시줄에 utf-8이 표시되지 않습니다. 그렇다면 그것은 내 vimrc
권리여야만 하는가? 어떻게 든 명령을 방해하는 다른 옵션이 있습니다 set filencoding
. 어떤 아이디어?
답변1
가장 중요한 두 가지 조언:
utf8
문서 인코딩에 사용합니다 (\usepackage[utf8]{inputenc}
).vim
이 인코딩set filencoding=utf8
을 ; 쉘의 로케일 설정(locale
)에 따라 이는 이미 기본값일 수 있습니다. TexShop에서는 기본 설정에서 파일 인코딩을 명시적으로 설정해야 합니다.파일 이름에 악센트 문자를 사용하지 마세요! 파일 이름의 UTF8에 대한 MacOS의 "특별한" 해석(분해된 형식으로 저장됨)은 모든 종류의 문제를 야기합니다.
또한 vim
실제 텍스트 인코딩 및 줄 끝 인코딩에 대한 표시기를 표시하는 상태 줄을 정의하는 것이 좋습니다(다음 줄을 입력하면 ~/.vimrc
파일 형식, 줄 끝 및 텍스트 인코딩이 오른쪽에 표시됩니다).
" show statusline
hi StatusLine ctermbg=black ctermfg=white guibg=black guifg=white gui=none
hi EMPH ctermfg=yellow ctermbg=black guibg=black guifg=yellow gui=none
set statusline=%F\ \|%c,%l:\ 0x%-02B\|%=\ \|%{strftime(\"%c\",getftime(expand(\"%:p\")))}\|\ %y\ %{&ff}\ %#EMPH#%{(&fenc==\"\"?&enc:&fenc)}
set ls=2
이를 통해 인코딩이 올바른지 빠르게 파악할 수 있습니다. Google에서 "vim statusline"을 검색하면 좋은 상태 표시줄을 설정하는 방법에 대한 수많은 가이드와 튜토리얼을 찾을 수 있습니다. 내 것은 여전히 비교적 간단합니다.