내 시스템의 모든 기술적 결함을 제거하여 tex 파일을 디버깅하고 있습니다. Tex 커뮤니티 문서에서 오류를 찾을 수 없습니다.여기그래서 상황을 복잡하게 만드는 비ASCII 문자가 있을 수 있다고 생각했습니다 pdflatex
. 저와 친구들이 그 기원을 이해하지 못해서 이해하지 못하는 LaTeX 경고 예
Underfull \hbox (badness 1019) in paragraph at lines 4--10
\T1/lmr/m/n/12 (+20) Avail-able from [][]$\T1/lmtt/m/n/12 http : / / www . dyna
med . com / login . aspx ? direct = true & site =
[50] [51] [52] [53]
Underfull \hbox (badness 1019) in paragraph at lines 332--338
\T1/lmr/m/n/12 (+20) Avail-able from [][]$\T1/lmtt/m/n/12 http : / / www . dyna
med . com / login . aspx ? direct = true & site =
) (./deliminated.figures.tex [54]
내가 한 일은 .tex 및 .bib 파일에서 영국 이외의 비ASCII 문자를 모두 제거하려고 시도한 것입니다.
.tex 및 .bib에서 비ASCII 문자 제거
# http://stackoverflow.com/a/9395552/54964 grep --color='auto' -P -n "[\x80-\xFF]" file.tex grep --color='auto' -P -n "[\x80-\xFF]" work.bib
...
grep이 ASCII가 아닌 모든 문자를 검색하기에 충분한지 여부에 관심이 있습니다.
도구 테스트를 거쳤지만 Gils 이후에는 이점이 없습니다.답변
grep --color='auto' -P -n '[^\x00-\x7F]' file.tex
grep -P "[\x80-\xFF]" file.tex
perl -ane '{ if(m/[[:^ascii:]]/) { print } }' file.tex
grep --color='auto' -P -n "[^[:ascii:]]" file.txt
내가 잘 모르는 것들
- Gilles의 답변은 여기에 있지만
LC_ALL=C grep '[^ -~]' file.tex
ASCII가 아닌 경우 LaTeX 구문 문자를 찾습니다. 이 올바른지?
TeXLive: 2016
OS: Debian 8.5
로케일: 영국
답변1
[\x80-\xFF]
128에서 255까지의 코드 포인트만 포함됩니다. 로케일, 특히 문자 인코딩에 따라 비ASCII 문자 세트일 수도 있고 아닐 수도 있습니다. 이는 8비트 인코딩에만 존재합니다. (정확하게 말하면 ASCII 기반 8비트 인코딩이지만 다른 인코딩을 접할 가능성은 거의 없습니다.) 사실상의 표준 UTF-8을 포함하여 문자가 개별 바이트가 아닌 로케일에서는 비 [\x80-\xFF]
- ASCII 문자 작은 부분.
ASCII가 아닌 문자를 검색하는 가장 쉬운 방법은 C 로케일을 강제 적용하는 것입니다. C 언어 환경에서 문자는 바이트입니다. 단일 바이트 로케일을 사용하면 일부 버전의 GNU grep을 훨씬 더 빠르게 만들 수도 있습니다.
LC_ALL=C grep --color='auto' -P -n "[\x80-\xFF]" file.tex