これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド typeset_audio_dirp です。
プログラム:
NAME
typeset_audio_dir - オーディオ ファイルを含むディレクトリの TeX リストを生成します。
SYNOPSIS
# 例: 現在のディレクトリには、実行者ごとに 1 つのサブディレクトリが含まれます。
# 各ディレクトリ内の構造は次のとおりです
# Composer/single*.mp3 (粒度の細かい出力:分野)
#と
# Composer/MultiPart/part*.mp3 (詳細な出力: 分野)
# 年と期間の情報を出力します。 ベース名として「Quartets」を使用する
typeset_audio_dir -y -T -B カルテット *
# 同様ですが、このディレクトリ構造は現在のディレクトリと同じです。
# 年と期間を出力せず、STDOUT に出力します
typeset_audio_dir 。
typeset_audio_dir
# アーティストをトップレベルの見出しとして使用し、アルバムを 2 番目のレベルとして使用します。 トラック番号を使用します。
# 名前はディレクトリ階層のあらゆる深さのタイトルに基づきます。
# 第 2 レベルの見出しの生成についても同様です。 オーディオに歌詞をマークする
typeset_audio_dir -ynTL -P long -B すべて
# 同様ですが、名前はアルバムに基づいています。 コメントを無視する
typeset_audio_dir -yTn -P short -B All_short
# 同様に、長いリストと短いリストの両方を生成します。 短い方が役に立ちます
# 長いものの目次として
typeset_audio_dir -ynTL -P short,long -B すべて
DESCRIPTION
MP3::Tag を使用して、コマンド ラインで指定されたディレクトリ (または複数のディレクトリ) をスキャンして取得します。
オーディオ ファイルに関する情報 (MP3 以外のファイルを処理するには、追加のモジュールが必要になる場合があります。を参照)
MP3::タグ、および -r ファイル名_フィルター オプションを指定する必要があります)。 生成します(状況に応じて XNUMX つまたは複数)
on -B オプション) TeX 人間が読める形式のリストを植字するためのコマンドを含むファイル。 非ディレクトリ
コマンドライン上の指定は無視されます。 (場合によっては、非オーディオ ファイルの処理にも使用される可能性があります)
MP3::Tag はそこからタイトルやその他の情報を抽出する場合があります。)
自律的AI -B、 ファイル *_list.tex オーディオ ファイルに関するすべてのデータが含まれています ( -P 両方と
「short,long」が指定されている、別の同様のファイル *_list_long.tex とも書かれています)。 ファイル
*_titles.tex コレクションの可能な「タイトル」の 0 番目の近似値 (XNUMX つ) が含まれます。
レビューに基づき -N オプションとトップレベルのディレクトリの簡単な概要)。 ファイル *_common.tex
次のファイルに共通のマクロが含まれています。 残りのファイルは別のファイルを定義します
リストを植字するための環境 (必要に応じて「コンテンツ」を含む XNUMX つの TeX ファイルを含む):
「通常」リスト(A4/レター用、 *_text.tex)、「圧縮」リストの XNUMX つのフレーバー (
ジュエルケースインサート, *_cdbooklet.tex *_cdcover.tex)、宝石用のバックインサート
ケース(*_backcover.tex).
その目的は、オーディオ ファイルを含むディレクトリのさまざまなレイアウトをサポートすることです。
コマンドラインオプションをできるだけいじりません。 したがって、「type_audio_dir」は次のことを実行しようとします
可能な限り推測で。 同時に、スクリプトを調整できるはずです
彼らが持っているレイアウトを処理するために。
スクリプトは、いくつかのレベルの「グループ化」のヘッダーを出力します。 「トップレベル」グループヘッダーは次のとおりです。
「トップレベル」ディレクトリ (オーディオ ファイルを含む) ごとに XNUMX 回発行され、さらにヘッダーが発行されます。
スキャン中のオーディオ ファイルの記述子の変更に基づいて行われます。
OPTIONS
-B 出力ファイルのベース名を与えます。 このオプションを使用しない場合、スクリプトは次のように出力します。
標準出力。 このオプションを使用すると、スクリプトはレイアウトをコンテンツから分離し、6 つのファイルを生成します。
TeX ファイル:
ベース名_テキスト.tex
ベース名_cdcover.tex
ベース名_cdbooklet.tex
Basename_backcover.tex
ベース名リスト.tex
Basename_titles.tex
Basename_common.tex
最後のファイルには、植字に必要な一般的なマクロが含まれています。 前のXNUMXつ
ファイルには、検出されたオーディオ ファイルに関する情報が含まれています。 他のファイルには次のものが含まれます
この情報を植字するためのフレームワーク。
最初の XNUMX つのファイルは人間が編集できるはずです。 上書きされません
スクリプトに指定されたのと同じベース名を使用して次の再実行によって実行されます。 これらを編集することで、
ファイルでは、複数のエンコーディング、言語、複数列出力、フォントの中から選択できます。
サイズ、行間、余白、ページサイズなど。
「*_titles.tex」ファイルは混合的な性質を持っています。オーディオ ファイルの内容を反映しています。
人間が編集できるはずです。 読み取り専用でない場合は上書きされます。
したがって、手動で編集する場合は、読み取り専用にします。 同様の上書きロジックが適用されます
「*_common.tex」ファイルも同様です。
-P "プラン"
複雑なオプションを設定するためのショートカット。 現在、「plan」の XNUMX つの値がサポートされています。
ショート => -1 "" -2 "" -t -1e100 -a -1e100 -c
長い => -1 "" -2 "@l" -t 1e100 -a 1e100
短い/長いリストの生成用。 短いリストでは、レコードは以下に対応します。
アルバム名。 長いリストでは、レコードは個々のファイルに対応し、
アルバム名は第 XNUMX レベルの見出しとして機能します。
-y 年 (または日付) 情報が存在する場合は、それを出力します。 非常に長い日付記述子 (例: when
複数の日付範囲が存在する場合)、可能な限り圧縮されます。
-Y 日付情報全体が存在する場合はそれを出力します。
-T 期間情報を出力します。
-n トラック番号の出力を有効にします。 環境変数 TYPESET_AUDIO_TRACK には、
植字用に補間する形式 (デフォルトは「%{mA}%{n1}」)。 たとえば、次のように設定します。
TYPESET_AUDIO_TRACK を「%{n1}」に設定すると、次の組み合わせではなく「純粋な」トラック番号が使用されます。
メディア/ディスク番号とトラック番号。
-1 トップレベルのヘッダー形式。 は interpolate()d の内容に基づいて MP3::Tag によって
この最上位ディレクトリのスキャン中に検出された最初のオーディオ ファイル。 空の値
がデフォルトです。 この場合、ヘッダーはディレクトリ名に基づいています (
一部の正規化: アンダースコアはスペースに変換されます)。
-2 第 XNUMX レベルの見出し形式。 は interpolate()MP3::タグによるd。 に基づいて計算されます。
各音声ファイルの内容。 補間値が変化すると見出しが出力されます。
(オプションによる -a).
空の文字列は生成を無効にします。
-a これよりも深いディレクトリの第 XNUMX レベルの見出しへの変更を無視します。
最上位のディレクトリ。 デフォルトは 2 です。たとえば、
演奏者/作曲家/コレクション/part1.mp3
演奏者/作曲家/コレクション/part2.mp3
出演者/作曲家/single1.mp3
出演者/作曲家/single2.mp3
最上位ディレクトリが次の場合 パフォーマー、次に第 XNUMX レベルのヘッダーの変更
シングル*.mp3 新しい第 XNUMX レベルの見出しが作成されます。 ただし、同様の変化は、
パート*.mp3 新しい見出しは作成されません。
注: おそらく、このデフォルトの 2 はあまり直感的ではありません。 明示的に行うことをお勧めします
このオプションを適切と思われる値に設定します (1e100 は無限大の役割を果たします -
したがって、変更を加えると新しい第 XNUMX レベルの見出しが生成されます)。
-t タイトルのカットオフの深さ (最上位ディレクトリに対する)。 デフォルトは 2 です。オーディオ ファイルの場合
これより深い場合は、アルバム %l が名前として使用されます。 それ以外の場合はオーディオのタイトル %t
ファイルが使用されます。
常に %l を使用するには「-1e100」に設定し、常に %a を使用するには 1e100 に設定します。
-@ オプション内のすべての「@」を「%」に置き換えます。 DOSISH シェルを含めると非常に便利です
MP3::Tag には「%」エスケープが必要です interpolate().
-e エンコーディング
出力ファイル、ディレクトリ名 (見出しの生成に使用する場合) のエンコーディングを設定します。
ヒントファイル。 エンコーディング ディレクティブのカンマ区切りのリストです。 それぞれのディレクティブは
エンコーディング名 (すべてのターゲットに使用する) または「TARGET_LETTERS:encoding」のいずれか。
ターゲット文字は、出力、ディレクトリ名、およびファイルの「o」、「d」、および「h」です。
.top_Heading それに応じて。 バイト指向を行うには、エンコードの代わりに 0 を使用します。
読み書き。
-c レコードの「コメント」として使用するもの(タイプセットが異なる部分)。 そうでない場合
この場合、ID3v2 フレーム「TXXX[add-to:file-by-person,l,t,n]」が使用されます。
このフィールドの内容がタイトルの末尾に含まれている場合は、何も追加されません。
この部分は植字が異なります。
-L 同期されていない歌詞と画像が埋め込まれたファイルをマークします。 の説明を載せます
リストの最後に使用されている記号。
-N COLLECTION_NAME
(デフォルトは「COLLECTION」) ファイルに挿入するコレクションの名前
*_title.tex。 エンコーディングとの対話は直感的ではない場合があります。 あなたは欲しいかもしれません
このファイルをチェック/編集して修正することができます。
-F FONT_ENCODING_SYMBOL
(デフォルトは「T2A」): 「LaTeX」フォントエンコーディングの名前。 インストールされている場合は、
壊れていて「T2A」が利用できない場合は、「T1」または「OT1」を試してみてください。 「次の問題」を参照してください。
組版"。
-r ファイル名_フィルター
検索するファイル名の正規表現を設定します (デフォルトは「(?i:\.mp3$)」です。
インフォ read from file
次のファイルは、ヒントを提供するために使用されます。 typeset_audio_dir:
.content_comment
このファイルの内容は、このファイル内のすべてのファイルの出力のコメント フィールドとして使用されます。
ディレクトリにあります。
.top_Heading
空の場合、ファイルの深さによって出力が変更されるときに計算されることを示します。
このファイルのディレクトリのサブディレクトリを参照してください (おおっ!)。 が含まれている場合
数が増えると、この深さに加算されます。
例:: セクションの見出しがディレクトリ名に基づいているとします。 仮に、
処理するディレクトリ ツリーにはディレクトリが含まれています 混合/2009。 の名前が必要な場合は、
このディレクトリのサブディレクトリをセクション見出しとして作成し、ファイルを作成します
混合/2009/.top_Heading 0 が含まれています。他のサブディレクトリにも同じことが当てはまる場合
of ミックス、すべての year サブディレクトリにそのようなファイルを作成する代わりに、次のようにすることができます。
file 混合/.top_Heading 「-1」が含まれています。
それ以外の場合、このファイルの内容は、このディレクトリのトップレベルの見出しとして使用されます。
組版
このスクリプトを実行すると、必要な TeX ファイルのみが生成されますが、タイプセットは行われません。
(ニーズに合わせて最初にファイルを編集すると、見た目がさらに良くなります)。 方法を思い出してください
TeX 文書をタイプセットするには (ここでは PDF ターゲットを想定しています):
latex document.tex && dvips document.dvi && ps2pdf ドキュメント
(大量の一時ファイルも生成されます。これを複数に分割することもできます
「&&」のコマンド)。 一部のファイル (例: ..._cdcover.tex) 風景によりよくフィットします
オリエンテーション; 必要なもの
ラテックス document.tex && dvips -t ランドスケープ document.dvi && ps2pdf ドキュメント
自律的AI ..._cdbooklet.tex最良の結果を得るには、小冊子 2up のページを再配置する必要があります。
片面2ページ印刷:
ラテックスドキュメント.tex
&& dvips -t 風景 -f < document.dvi | 絵本 | psstops "2:0(0,-6cm)+1(0,6cm)" > document.ps
&& ps2pdf -dAutoRotatePages=/なしドキュメント
(すべてを 3 行に入力するか、「&&」で区切って XNUMX つの別々のコマンドを入力します。実行の詳細については、
dvips は TeX ファイルの先頭に置かれます)。 簡単に印刷できれば、 .ps ファイル、あなた
最後のステップを省略できます。 (オプション「-dAutoRotatePages=/None」は表示を妨げます。
省略してもよい ない限り、 以下のように、「偶数ページの余分なめくり」を行います。)
これは、ファイルをプリンタに送信するときに、両面印刷を要求することを前提としていることに注意してください。
「紙の短辺を綴じる」。 プリンターが手動両面印刷に耐えられる場合は、次のようにしてください。
通常: 最初に偶数ページを逆の順序で印刷し、用紙を再セットしてから奇数ページを印刷します。
(再セットするときに用紙をどの方向に戻さなければならないかを理解する必要があります。
4 つのバリエーションがありますが、正しいのは XNUMX つだけです ;-)。 「実際の」両面プリンタについては、以下を参照してください。
問題 を特定いたします。 組版
不完全なインストール
! フォント T2A/cmr/m/n/10.95=larm1095 (10.95pt) は読み込めません:
メトリック (TFM) ファイルが見つかりません。
私が見つけた中で最高の多言語をカバーするには、生成された LaTeX ファイルはデフォルトで次のものを使用します。
「textcomp」によって提供される追加のラテン文字を含む「T2A」エンコードされたフォント。 どうやら、
一部の「TeX」インストールでは、「T2A」エンコーディング テーブルが省略されます。 「T2A」を次のように変更するとよいでしょう。
たとえば、オプション「-F T1」を使用した「T1」。
小冊子で1ページ目が終わり、残りがめちゃくちゃ
「geometry」パッケージの「landscape」オプションは、ページを 90 度回転する必要があります。
設定方法により回転方向が異なります。 もし PDFファイル file
「-dAutoRotatePages=/None」オプションで取得した場合は、ページの先頭が左側にあります。
シフトの方向を反転する必要があります。「2:0(0,-6cm)+1(0,6cm)」の代わりに、
use "2:0(0,6cm)+1(0,-6cm)".
「用紙の長辺とじ」による両面印刷
デフォルトでは、ほとんどの両面プリンタは「用紙の長辺を綴じる」ように設定されています。
そのため、製本オプションの手動設定を避けるために、偶数ページを反転するとよいでしょう。
生成されたファイル。 これを行うには、追加のものを追加します ps2ps パイプラインの最後のステップ、例:
... psbook | psstops "2:0(0,-6cm)+1(0,6cm)" | psstops "2:0,1U(1w,1h)" > document.ps
A4 サイズの用紙とレターサイズの用紙
一部の TeX/PS インストールには、正しくセットアップされたサイト構成ファイルがありません。
プリンターの通常の用紙サイズがわからない。 幸いなことに、
植字パイプラインを使用すると、手動で再構成できます。 残念ながら、コマンドオプション
必要な再構成はステップごとに微妙に異なるためです。
たとえば、TeX/PS ユーティリティが用紙サイズを「レター」と認識している場合、
実際に印刷するのが「a4」の場合は、次の操作を行う必要があります(どちらのサイズかによって異なります)。
構成ファイルが壊れているため、一部の変更を省略できる場合があります):
1. 「\usepackage[...,...]{geometry}」オプションに「a4paper」を追加します(カンマ区切り
「ジオメトリ」を使用する TeX ファイル内の括弧内のリスト)。
2. 「dvips」オプションとして「-t a4」を追加します。
3. 「pstops」オプションとして「-pa4」を追加します。 (回転が壊れたら省略してください、ため息!)
4. 「ps4pdf」オプションとして「-sPAPERSIZE=a2」を追加します。
いくつかの複雑さを処理するコマンドラインの例
dvips -t 風景 -f < All_cdbooklet-a4.dvi | 絵本 | psstops -pa4 "2:0(0,-6cm)+1(0,6cm)" | psstops -pa4 "2:0,1U(1w,1h)" > 出力-even_flipped-a4.ps
&& ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None 出力-even_flipped-a4
同様に、正しくするには、「ps2ps」コマンドラインに「-pletter」を追加する必要があることがよくあります。
レターサイズの用紙に印刷します。 作成された PDF ファイルはビューアで確認できます。
ステータス行には正しい用紙サイズ (例: 8.5 インチ x 11 インチは「レター」) が表示されるはずです。
ページは裏返す必要があり (「長辺」で綴じる場合)、ワイヤーフレームはその上にある必要があります。
異なるページは正確に同じ位置に配置される必要があります (視覚的な目的のため)
確認して、「ページに合わせる」スケーリングを選択し、次の方法でページをすばやく前後に切り替えます。
キーボードまたは「次のページ」ボタンを使用します)。
dvips からの警告
「TeX/dvips」のインストールが 完全に 正しい、削除できます
「dvips」コマンドラインから「-t landscape」を実行します。 削除しないと警告が生成されます
「横向きと用紙サイズの両方が指定されています: 横向きは無視されます。」
系統的な両面印刷オフセット
一部のプリンタでは、印刷時に表と裏の位置を確実に一致させることができません。
それに対してできることはほとんどありません。 ただし、プリンターに追加の機能がある場合は、 整合性のある
表と裏の位置が間違っている場合は、回避策を講じることができます。
たとえば、「短辺で綴じる」場合、よくある間違いは次のとおりです(横向きで綴じる場合)
向き) 背面は前面に対して水平にオフセットされます。 たとえば、オフセットの場合
左に 3.4mm ある場合、ページ上の画像をこの半分、つまり 0.17cm だけずらすことができます。
the left: replace "2:0(0,-6cm)+1(0,6cm)" by "2:0(0,-6.17cm)+1(0,5.83cm)".
「長辺で綴じる」場合、一般的なエラーは垂直方向のオフセットです。 仕事へ
周りでは、垂直方向に(やはり半分の量で)シフトする必要があります。 After 偶数反転
ページ。 0.17cm 上にシフトするには、パイプラインに追加のステップ「pstops "(0.17cm,0)"」を追加します。
「2:0,1U(1w,1h)」ステップの後 (未テスト)。
ヒント
デフォルトのフォント サイズと活字の密度は、DL-DVD の印刷を最適化するために選択されます。
短い高品質オーディオのコレクション (歌のような長さ: 約 100 の小見出し、および
2000 オーディオ ファイル)。 タイプセットを使用環境に合わせて調整すると、視覚的な品質が向上する可能性があります。
特定のニーズ。
最も一般的に変更される設定は、生成されたファイルの上にあります。 これらはフォントであり、
主なタイトル、セクションのタイトルの段落の垂直方向の絞りの度合い (第 1 回)
レベル) とサブセクション (第 2 レベル)、および各オーディオ ファイルに対して出力された実際のレコード。
列の数も同様です。 ファイルの少し先には、残すギャップの設定があります。
セクション見出しの周りや、絞りの微調整に使用します。
コマンドライン オプションで複雑なレイアウトを記述できない場合は、
このスクリプトを何度も実行する可能性はまだあります (「handable」を使用してディレクトリごとに XNUMX 回)
レイアウト」を使用して、 -B およびこのサブディレクトリに適したその他のオプション)。 その後、使用できます
ラテックス "\input" ディレクティブは生成されたものを含めます ベース名リスト.tex ファイルを
トップレベルの「LaTeX」ファイル。
また、「\preSection * \postSection」を再定義して何も行わず、必要なコードを追加することもできます。
最上位ファイルにヘッダーを生成するコード。
ニーズに合わせて書式設定マクロを変更します。 (さらに厄介なことについては、
「\squeezeContunuationLines」と「\parskip」は線の密度を調整します。
線のフォントを変更する。 「\parskip」の設定はアクションの一部であることに注意してください。
「\squeezeContunuationLines」。 「\columnsep」は列の水平方向の分離を制御します。
最初のページの開始位置の垂直位置を微調整することもできます。 のために
バックカバー、「\CDbackMargin」と「\CDbackTopMargin」も調整します。 の定義
「\squeezeContunuationLines」は、非コードでは (「%」で) コメントアウトされています。*_common.tex ファイル。 してもいいです
コメントを解除し、TeX ファイルごとに個別に調整してください)。
XNUMX つ(またはそれ以上)のリストを組み合わせることができます(たとえば、XNUMX つは短いスタイル、もう XNUMX つは長いスタイル)
スタイル) を XNUMX つの出力ファイルにまとめます。 生成されたファイル ..._cdbooklet.tex ..._text.tex
最後に必要なテンプレート (無効) がすでにあります。 (さらに、 -P "ロングショート"、
これは自動的に行われます。
たとえば、「SYNOPSIS」で作成した XNUMX つのリストの場合、 すべてのリスト.tex, All_short_list.tex,
の終わり近くで「\iffalse」を見つけます All_short_cdbooklet.tex それを「\iftrue」に変更します。 それから
ディレクティブ内の名前を変更する
\input{another_list}
〜へ すべてのリスト
これにより、「短い」CD ブックレットが、結合された CD の一種の「目次」になります。
「ショート+ロング」CDブックレット。 (もちろん、マクロ「\SectionFont」の値を変更することもできます)
など、「\COLUMNS」、ニーズに合わせたスクイーズのタイプ - 重要なのは、これらを次のようにすべきではないということです。
XNUMX 番目のリストでも必ず同じです。)
ワークフロー
このモジュールは非常に柔軟です。 これは可能なワークフローの XNUMX つです (すべての場合に適しています)
必要は -P そして -P :
すべての「トップレベル」ディレクトリを現在のディレクトリのサブディレクトリとして置きます(これは
実際には必要ありません!)、各ディレクトリに使用する見出しをファイルに入れます
.top_Heading。 このファイルで使用されるエンコーディングをオプションに指定する必要がある場合があります (do
「-eh:cp1252」と同様)。
onworks.net サービスを使用してオンラインで typeset_audio_dirp を使用する
