TeX과 친구들
-
DokuWiki와 Andreas GohrTeX과 친구들 2024. 8. 21. 09:21
몇 달 전에 도입한 DokuWiki에 크게 만족하여, 몇 푼 기부하고자 도쿠위키 웹 사이트를 방문했다. Donation 페이지에서 One-Time Donation via Paypal을 클릭했다. 연결된 PayPal 페이지에서 보이는 화폐 단위가 달러가 아니라 유로이다. 저자가 누구인지 궁금하여 찾아보았다. 베를린에 거주하는 Andreas Gohr라고 한다. 그래서 DocuWiki가 아니라 DokuWiki라 지었나 보다.그의 사이트(https://www.splitbrain.org/projects)에서 그가 개발한 소프트웨어의 목록을 볼 수 있다. Geek이란 말에 들어맞는 사람이다.
-
jsx와 xsltTeX과 친구들 2024. 4. 18. 10:15
인디자인은 xml 내보내기/가져오기 기능을 제공한다. 이런저런 이유로 그 기능을 활용하는 jsx 스크립트를 오래 전에 퇴사한 친구가 만들었다. 그 스크립트를 고쳐달라는 요청을 받았다. xml 파일로 저장할 때 이미지 파일들의 경로가 절대 경로로 되어 있는데, 그 때문에 다른 사람의 컴퓨터에서 xml 파일을 불러들일 때 이미지들을 다시 링크해야 하는 피할 수 없는 번거로움이 발생한다. 그러니까 xml 파일을 저장할 때 이미지 경로를 상대 경로로 바꾸어 달라는 것이다. 인디자인은 이 기능에서 xslt를 지원한다. tokenize()를 비롯한 여러 시도 뒤에 인디자인이 XSLT 2.0을 지원하지 않는다는 것을 알아내었다. tokenize()를 대신할, 정확히 말해 슬래시를 기준으로 재귀적으로 문자열을 잘라내는..
-
파이선으로 명령행과 윈도를 동시에 지원하는 프로그램 만들기TeX과 친구들 2024. 4. 18. 09:48
잉크스케이프처럼 명령행과 윈도를 동시에 지원하는 프로그램을 만들고 싶었다. 실은, 명령행 프로그램의 사용에 익숙하지 않은 동료들의 불만을 잠재우기 위해 마지못해 GUI를 만들기 시작했다. 여러 라이브러리 중에, tkinter보다는 수려하고 PyQt보다는 프로그래밍하기에 덜 수고로워 보여, wxPython을 선택했다. 껍데기를 만드는 데에 지나치게 많은 시간을 빼앗기고 싶지 않다. 이 과정에서, 윈도 프로그램을 위한 소소 코드의 확장자가 .pyw이어야 한다는 것과 그것을 돌리는 것이 pythonw라는 것을 알게 되었다. 납득하기 어렵지만, 윈도즈에서만 그렇다고 한다. 여러 시도 끝에, 실망스럽게도, 윈도즈에서 명령행과 윈도를 동시에 지원하는 프로그램을 파이선으로 만드는 것이 불가능하다는 결론을 얻었다. 하..
-
파워셸 프롬프트 바꾸기TeX과 친구들 2024. 4. 4. 17:25
파워셸에서 프롬프트를 바꾸는 방법이 cmd에 비해 번잡하다. $profile에 (달리 지정하지 않았다면 아래와 같은 경로에) 지정된 .ps1 파일에 prompt 함수가 정의되어 있어야 한다. C:\Users\$ENV:USERNAME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 현재 경로가 터미널 크기를 가득 채울 만큼 길어지면 혼란스러워서, 경로 길이가 30자 이상이면 최상위 폴더와 현재 폴더만 표시되도록 prompt 함수를 다음과 같이 재정의했다. function prompt { $currPath = $PWD.Path if ($currPath.Length -gt 30) { $parentFolder = (get-location).Path | Split-..
-
와일드카드로서의 대괄호(square brackets)TeX과 친구들 2024. 4. 4. 17:12
파이선 스크립트를 작성할 때, 입력 파일들을 다양한 방법으로 지정할 수 있게 하려 한다. C:\> foo.py aaa.pdf b??.pdf c*.pdf 파일 이름에 언더스코어를 제외한 다른 기호들을 사용하지 않는 것이 바람직하지만, 그것을 내가 동료들에게 강제하기 어렵다. 동료들이 제공한 파일들을 갖고 시험하는데, 한 파일을 불러들이지 못한다. 원인은 대괄호이다. [foo]goo.pdf 별표(*)와 물음표(*)만이 와일드카드 문자인 줄 알았는데, 대괄호도 와일드카드 문자이다. 리눅스에서도 그러하다고 한다. cmd에서는 통하지 않으니 파워셸과 함께 윈도즈에 도입된 것으로 보인다. glob.escape(inputFile) glob.escape()가, 별표와 물음표까지 이스케이프하기 때문에, 해법이 되지 않는..
-
레이텍을 이용하여 Tagged PDF 만들기TeX과 친구들 2023. 12. 18. 16:45
동료가 레이텍을 이용하여 tagged PDF를 만들 수 있는지 내게 물었다. 그 사양은 2001년에 발표된 PDF 1.4에 이미 포함되어 있었지만, 나는 2106 년에야 비로소 그 존재를 인식했다. 당시에 그것을 지원하는 레이텍 패키지가 있는지 살펴보았으나 찾지 못했다. 지금은 어떨까? 큰 기대 없이 챗지피티에게 물어보니, tagpdf 패키지를 사용하는 예시를 보여준다. 늘 그렇듯이, 챗지피티는 최신 업데이트를 알지 못하기 때문에, 기대한 결과를 얻지 못했다. 하지만 다행히도 이 경우에 챗지피티가 완전한 거짓말쟁이가 아니어서, 두어 시간 동안의 여러 시도 끝에 성공했다. 이를 통해 \DocumentMetadata가 latex.ltx에 정의되어 있음을 알게 되었다. 아무튼 tagged PDF를 만드는 것은..
-
Hunspell을 이용한 한글 맞춤법 검사TeX과 친구들 2023. 11. 6. 16:53
pyspellchecker 패키지에는, 당연히, 한국어 사전이 포함되어 있지 않다. Hunspell 한국어 사전이 있으므로, hunspell 라이브러리를 설치하면 한글 맞춤법도 검사할 수 있지 않을까? 하지만 시도해 보니 윈도즈용 라이브러리는 C로 작성된 hunspell 소스의 컴파일을 요구한다. 한나절 동안 여러 방법들을 시도했지만 모두 실패했다. 어도비 프로그램들도 hunspell 사전을 이용하는데, 내가 그것을 직접 사용할 수 있는 방법이 없다니 부아가 치민다. 마지막으로 WSL(Windows Subsystem for Linux)을 시도했다. 짜증나게도 잘 된다. 예상했던 바이지만, 한국어 사전이 크게 도움이 되지 않을 것이다. 사용자 사전을 만들어야 할 터인데, 그 시간에 문서를 훑어보는 것이 도..