파워셸에는 탭 완성 기능이라는 게 있습니다. 현재 폴더에 foo.tex이 있을 때 f 다음에 탭 키를 누르면 foo.tex이 입력 줄에 나타납니다. 사실 탭 완성 기능은 cmd에도 있습니다. 그런데 cmd에서와 달리 파일 이름이 아니라 경로가 나타납니다.
.\foo.tex
문제는 레이텍이 명령행에서도 \을 컨트롤 시퀀스로 인식한다는 것입니다. 이렇게 되면 탭 완성 기능이 그다지 도움이 되지 않습니다.
경로 표시가 좋다는 데에는 동의합니다. 파일 존재의 애매함을 피할 수 있죠. 아무튼 '.\'는 레이텍 컴파일러들에게만 문제가 되는 것인데 이를 손쉽게 피할 수 있는 방법들을 궁리해 봤지만 뾰족한 답이 없습니다.
그저 다음과 같은 스크립트를 만들어 쓰는 게 최선인 것 같습니다.
if ($args[0]) {
$trgtex = (Get-Item $args[0]).Basename
xelatex.exe $trgtex
} else {
Write-Output "Specify a tex file."
}
사실 이게 저에게 문제인 것은 아니고, 입문자들에게 파워셸의 사용을 권할 때 사소한 걸림돌이 될 것 같습니다.
윈도즈도 다른 운영 체제들처럼 백슬래시 대신 슬래시를 쓰면 좋지 않을까 싶네요.
KTUG 한국 텍 사용자 그룹