私は TeXShop と pdflatexmk スクリプトを使用しています。用語集の少なくとも 1 つのエントリを用語集にリンクすると、\gls{label}
コンパイルは正常に行われ、すべて正常に動作します (動作するコード例)。ただし、すべての用語集エントリにリンクしなくてもよいようなコマンドを使用したいのですが、\glsaddall
残念ながら pdflatexmk はこのオプションを無視します (機能しないコード例)。なぜそうなるのでしょうか?
ターミナルで makeglossaries コマンドを実行できることはわかっていますが、pdflatexmk で実行したいです。どうすればこの問題を解決できますか? この問題を解決する新しい pdflatexmk スクリプトはありますか?
実際の例を以下に示します。
動作コード: \gls{label} を使用して少なくとも 1 つの用語集項目を指定します。
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one mentioning the glossary item \gls{One}
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two mentioning the glossary item \gls{Open}
\end{document}
機能不全のコード: \glsaddall を使用して、言及のないエントリを印刷する
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two NOT mentioning the glossary item
\end{document}
答え1
用語集のエントリ定義を移動する前にを発行し\glsaddall
、latexmk
用語集の取り扱い方法を理解していることを確認してください。サンプルファイルパッケージには、~/.latexmkrc
設定ファイルに追加する必要がある内容が示されています。
全体として、
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\newglossaryentry{One}
{name=One, description={First number after zero}}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
Body text for chapter two NOT mentioning the glossary item
\end{document}
そして
add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
sub makeglo2gls {
system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
}
または
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
sub makeglossaries {
system( "makeglossaries \"$_[0]\"" );
}
~/.latexmkrc
問題を解決します。