Work Life Fun

仕事も人生も楽しむ社労士

VSCodeでLaTeXを自動整形(latexindent)

※当サイトはリンクに広告ページが含まれている場合があります

就業規則のように50ページを超える資料を作成するときにWordを使うのは発狂ものです。

そのため、当事務所では就業規則や関連規程の作成には$\LaTeX$を利用しており、特にVSCodeとLaTeX Workshopの組み合わせは、業務効率化の最強ツールと考えています。

自動整形のない小さなストレス

ただ、ずっと小さなストレスだったのがインデントのずれ・・・

以下のような形だと構造がわかりにくいですよね?😵‍💫😵‍💫😵‍💫

\section{所定労働時間、始業・終業時刻}

\begin{enumerate}
\item 所定労働時間(休憩時間を除く。以下同じ。)は、原則として、1週間については40時間とし、1日については8時間とする。
\item 始業時刻及び終業時刻は次のとおりとする。
\begin{enumerate}
\item 始業時刻:午前○時○分
\item 終業時刻:午後○時○分
\end{enumerate}
\item 正社員等は、始業時刻に業務を開始できるよう余裕をもって出社しなければならない。また、終業時刻までに業務が終了すべく職務に専念しなければならず、業務終了後は、速やかに退社しなければならない。
\end{enumerate}

VSCode自体の設定によって、1行ずつ改行をしていけば自動でインデントされますが、それも面倒、というより人間がやるべき作業ではありません。

ここ数年、この小さなストレスをずっと放置してきましたが、一念発起して(大げさ・・・🤣)チャレンジしてみました。

自動整形のショートカットキー

プログラミングをする上で自動整形は必須です。PHPやHTMLのコードを書くとき、VSCodeでは、

Shift+⌥(Option)+f

で自動整形できます。$\LaTeX$でも同様のショートカットがないか調べてみるとlatexindentというネーミングそのもののツールがありました。

以下の記事を参考に、perlとlatexindent.plをインストール。なにげにperlは初めてなのがちょっとうれしい。

$ brew install perl
$ brew install latexindent

参考:VSCode for macのLaTeX Workshopで自動整形できるようにする(latexindent)

意外と苦労した点

Homebrewでコマンド実行するだけなのでインストールは簡単ですが、意外と苦労したのが「latexindent.pl」のインストール場所。

参考にした記事では、VSCodeの設定ファイル(JSON)に以下を追加するだけとなっていますが、ファイルのありかが異なるようで、エラーが出ます。

"latex-workshop.latexindent.path": "/usr/local/bin/latexindent.pl",

といっても、環境が異なればファイルのありかが違うのは当然。

個人的には、こういった場面で自ら考えて環境設定ができるようになったとき「自分、ITリテラシーがあるほうっす」と自信を持って言っても良いのではと考えています。

なんとか「latexindent.pl」を探し出し、VSCodeのsettings.jsonに以下を追加して完了です。

"latex-workshop.latexindent.path": "/usr/local/Cellar/latexindent/3.20.1/bin/latexindent",

ショートカット一発で自動整形

VSCodeの設定を完了したので、以下のショートカット一発で自動整形できるようになります。

Shift+⌥(Option)+f

Before

\section{所定労働時間、始業・終業時刻}

\begin{enumerate}
\item 所定労働時間(休憩時間を除く。以下同じ。)は、原則として、1週間については40時間とし、1日については8時間とする。
\item 始業時刻及び終業時刻は次のとおりとする。
\begin{enumerate}
\item 始業時刻:午前○時○分
\item 終業時刻:午後○時○分
\end{enumerate}
\item 正社員等は、始業時刻に業務を開始できるよう余裕をもって出社しなければならない。また、終業時刻までに業務が終了すべく職務に専念しなければならず、業務終了後は、速やかに退社しなければならない。
\end{enumerate}

After

\section{所定労働時間、始業・終業時刻}

\begin{enumerate}
    \item 所定労働時間(休憩時間を除く。以下同じ。)は、原則として、1週間については40時間とし、1日については8時間とする。
    \item 始業時刻及び終業時刻は次のとおりとする。
          \begin{enumerate}
              \item 始業時刻:午前○時○分
              \item 終業時刻:午後○時○分
          \end{enumerate}
    \item 正社員等は、始業時刻に業務を開始できるよう余裕をもって出社しなければならない。また、終業時刻までに業務が終了すべく職務に専念しなければならず、業務終了後は、速やかに退社しなければならない。
\end{enumerate}

まとめ

自動化できる部分はコンピューターに任せ、人にしかできない作業に集中する、当然のことですが、これが業務効率化でしょう。

長く放置していて小さなストレスだった$\LaTeX$の自動整形の問題を解決できて、想像以上にうれしいです💯

【無料】効率的に人事労務の情報を入手しませんか?
  • 毎年のように改正される労働法令への対応に頭を悩ませている
  • 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない

といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。

過去の配信分は公開しません。

情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。


up_line