newunicodecharパッケージで句読点を置換すると改行時にインデントが狂うZennアスモ✒️newunicodecharパッケージで句読点を置換すると改行時にインデントが狂う2024/10/20に公開2024/10/30LaTeXOverleaflualatexjlreqtechはじめにスクラップに書くにはちょっと沼が深そうだったので、分けて記事にしました。本記事の内容をざっくり説明するとnewunicodecharパッケージで句読点を置換すると、コンパイル後の文書でちょっと無視できないレベルの不具合が起きた句読点の置換はlatexmkrcで設定すれば万事よし今回の不具合の原因は何だろうという感じです。LaTeXマスターからのご連絡お待ちしております。句読点の置換LaTeXでアカデミックな文書を作成するとき、句読点の処理をどうするかという問題があると思います。PC側で「,」「.」と設定してしまえば手っ取り早いですが、すると今度は普段の文章が何だか硬くなってしまうので、texファイルのコンパイル時に「、」「。」を「,」「.」に置換できると嬉しいですね。newunicodecharLuaLaTeXに限ってはnewunicodecharというパッケージが用意されていて、\usepackage{newunicodechar}\newunicodechar{、}{,}\newunicodechar{。}{.}とすると望みどおりに置換してくれます。参考↓https://qiita.com/migawariw/items/928227fb5f7611ec3baa問題ところが、実際にこのパッケージを使ってみると困ったことになりました。ltjsシリーズ例として以下のtexファイルをコンパイルしてみます。main.tex\documentclass{ltjsarticle}\usepackage{newunicodechar}\newunicodechar{、}{,}\newunicodechar{。}{.}\begin{document}こんにちは、こんばんは。こんにちは、こんばんは。上段と下段で、本来はぴったり揃うはずなのにずれてしまいました。これはテキスト的には同一の内容なのに、下段だけ字詰めがされているという状況です。jlreq上のtexファイルでドキュメントクラスをjlreqにしてみると、また違った結果になります。以下同文コンパイル結果さっきとは上段と下段が入れ替わったかのようです。これは、下段の方にだけ「こんばんは」の前に半角スペースが挿入されているという状況です。改行が欧文のように扱われています。原因は一先ず置いておくとして、今のところ上手くいっている方法を紹介します。texファイルの方では何もしません。jlreqでもOK\begin{document}こんにちは、こんばんは。こんにちは、こんばんは。\end{document}Overleaf上のルートディレクトリにlatexmkrcなるファイルを新規作成します。