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$の自動整形の問題を解決できて、想像以上にうれしいです💯

社労士のための「ほどほど」お悩み相談室

あなたのご質問・ご相談に、月1回、無料・本音で回答します。

ご質問・ご相談は、登録後に届くメールから送っていただけます。費用は一切かかりません。「お悩み相談室」というクローズドな場だからこそ、踏み込んだ内容の質問にも回答できます。

これまでに、こんなご質問・ご相談に回答してきました。

  • コンサル(3号業務)を主力業務にするには、どうすれば良いか?
  • どのようにして顧問料を上げれば良いか?
  • 営業が苦手で、新規の顧客獲得ができない
  • 業務をどう絞り込めば良いか?
  • 一人社労士のままで良いのか、人を雇うべきか?
  • 苦手・相性の悪い顧問先と、どう付き合うか?
  • 生成AIの時代、社労士は今後どう生き残るか?

なぜ、無料で同業の社労士からの相談に乗るのか?

それは「本当に顧客のために活動できる社労士仲間を増やしたい」からです。

私自身、社労士という資格に誇りを持っています。企業からの社労士に対する不満をよく聞きますし、「社労士なんて役に立たない」と思われることは、正直悔しいです。

  • 信頼される・信頼できる社労士の仲間を増やしていきたい

そんな想いから、少しでも社労士業界全体のレベルアップに貢献できればと考えています。

    登録は無料・月1回配信・配信解除いつでも可能
    ※ 登録後、本人確認のメールをお送りします。届かない場合は迷惑メールフォルダもご確認ください。


    up_line