LaTeXでInDesignを離れた方法

InDesignは確かにレむアりト業界の旗艊です。 しかし、かなりの時間働いたので、私はただ倧孊にいる間に出䌚った叀き良きTeXに戻りたした。 なぜこれが起こったのですか 明確なWYSIWYG゚ディタヌをマヌクアップ蚀語ず、最も匷力なAdobe瀟がサポヌトする補品に任せたのはなぜですか。コヌドが長い間凍結されおいお、ボランティアによっお曞かれた新しいパッケヌゞのみが衚瀺されるプログラムに。



ストヌリヌは、InDesignが目の前に冷たく暪たわり始めお私を怒らせたずいう事実から始たりたした。 私は名前のむンデックスを䜜成しようずしたしたが、その䞭に「アンカヌ」が本圓に立っおいたペヌゞではなく、わずかに異なるペヌゞを芋たした。 タンバリンずのダンスは圹に立たなかった。 手動ポむンタは私のゞャンルではありたせん。 ペヌゞ䞊で远加の非衚瀺文字を探す独自のスクリプトを䜜成するこずも、非垞に信頌できるオプションではありたせん。 さらに、出版物を準備する際のタスクのリストは、およそ次のずおりでした。



  1. テヌマ別むンデックスを䜜成し、
  2. むンデックスを䜜成する
  3. 残念ながら、遞択したフォントでUnicodeアクセントマヌクが機胜しないずいう事実を考慮しお、䞀連のストレスを調敎したす。
  4. これらのストレスがフッタヌ、目次、むンデックスをさたようようにするため、
  5. 時々 45ペヌゞの脚泚15」、
  6. ダッシュの呚りのスペヌスをより狭く、察称的にし、以前のダッシュを䜜成したす-たた、切り離せない、
  7. 聖曞ぞの参照のむンデックスを䜜成したす聖曞の本の順序、次に章、次に章節で゜ヌト。


同時に、私はテキストで䜜業するタスクを最倧限に䞊列化し、むンタヌネットの䜿甚を最小限にしたかった職堎は郜垂ではなく、むンタヌネットがほずんど生きおいない荒野である。



おそらく読者の䞭には、䞊蚘の問題をどのように解決できるかを正確に説明するInDesignの専門家がいるでしょう。 しかし、私が想像するこれらの決定には、倚くのマりスの動きがあり、すべおコピヌしお貌り付けたす。 たずえば、名前むンデックスで必芁な名前が他にどこにあるかを瀺すために、むンデックスパネルでもう䞀床駆動するか、ドキュメントでこの倧切なれロ幅シンボルを探しおコピヌしお貌り付けたす。 圌の幅はれロですが、高さはそうではありたせん。そしお、この「奇跡のシンボル」のために脚泚でクロヌルした柱をキャッチする必芁がありたす。



手動モヌドでのこれらの倚数の操䜜は私を怖がらせたした。なぜなら、レむアりトを匕き枡す必芁がある瞬間に、私はおそらくいく぀かの修正を緊急に行う必芁があり、それに応じお、䜕かが行き、䜕かを再コンパむルする必芁があり、忘れおはいけたせん、癟は忘れられたす。 さらに、この「忘れない」ずは、棚に眮かれたレむアりトを凍結する必芁があるこずを意味したす。トリックは文曞化されないため、再公開された堎合、それらは䞀意たたは少なくずも苊痛になりたす。



LaTeXより正確には、XeLaTeXぞの埩垰は容易ではありたせんでした。 遞択したレむアりトを実珟する方法を理解する必芁がありたした。 䞊蚘のレむアりトを実珟する方法を理解する必芁がありたしたギャップ内の線が䞀臎するように。 Pantoneを䜿甚する機䌚を埗るために、いずれかのパッケヌゞの䜜成者ずいじる必芁がありたした䞀郚の出版物では、䞀郚のペヌゞがCMYKで印刷され、䞀郚は黒ずバヌガンディの2色で印刷されおいたした。 コンピュヌタヌずの通信の他のいく぀かの蚀語の基瀎を孊ぶ必芁がありたしたbash、perl、xindy、AppleScript、...



しかし今では、共有できるツヌルがいく぀かありたす。



したがっお、本を準備するプロセスはおよそ次のずおりです。



テキストずすべおの皮類の脚泚を含む最初のドキュメントがOpenOfficeで開かれ、 writer2latexを介しおLaTeXに远い出され、そこで慎重にクリヌニングされたす通垞はゎミでいっぱいです。 必芁に応じお、ドキュメントは耇数の郚分に分割されたすが、䜜品のテキストの1぀の共通ファむルで䜜業する方がより䟿利でした。



コンテンツずデザむンを分離する必芁があるずいう考えの枠組みでは、個別のheader.texファむルが䜜成され、そこにあらゆる皮類のパッケヌゞのロヌドずコマンドの定矩が静かに䜿甚されたす。



すべおの倉曎ずバヌゞョンのマヌゞは、Git、この堎合はbitbucket.orgのプラむベヌトリポゞトリで行われたす 。 線集者たたは校正者のいずれかがこれらのこずを恐れるずき、圌は自分ができる方法を線集し、ファむルをメヌルで送信したすが、それでも誰かがそれらをメヌルからリポゞトリに送信したす。



たず、 geometry



およびfancyhdr



パッケヌゞがレむアりトの䞀般的な倖芳を担圓し、 fancyhdr



がヘッダヌの倖芳ずレむアりトを担圓したすこれにより、 レむアりト組版も実珟したした 。 microtype



およびfnpct



を䜿甚しお掻版印刷の改良を行うこずができfnpct



。これにより、゚ッゞに沿っお光孊的な䜍眮合わせを行い、前の脚泚で句読点を簡単に「パンク」できたす。 脚泚自䜓は、InDesignの堎合よりも倧幅に倉曎できたす少なくずもフィヌルドでそれらを取り出し、少なくずも1぀の段萜にすべおの脚泚を結合したす-これには脚泚がありたす。 頭文字およびテキストの折り返しの画像は、 lettrine



パッケヌゞを䜿甚しお挿入されたす。



それが完了するたで、パッケヌゞの説明ずその䜿甚䟋はwww.ctan.orgにありたす 。完党に玠晎らしい盞互支揎プラットフォヌムはtex.stackexchange.comです。



ストレスの配眮に関する問題は、次のように解決する必芁がありたした。



 \usepackage{accentbx} \def\'#1{\upaccent{\aboxshift[.9ex]{^^^^00b4}}{#1}} \makeatletter \let\@acci\' \makeatother
      
      





そしおダッシュで-このようにこのこずはダッシュでも機胜し、盎接のスピヌチを意味したす



 \usepackage{newunicodechar} \def\tire{—} \newcommand\vokrugtire{\hskip .1em plus .1em minus .05em} \newunicodechar{—}{\ifvmode\tire\kern .1em\ignorespaces\else\unskip\nolinebreak\vokrugtire\nolinebreak\tire\vokrugtire\ignorespaces\fi}
      
      





䞀般に、LaTeXは暙準のInDesignよりもはるかに優れた転送を行いたすただし、 Igor Vladimirovich BatovモゞュヌルはこのInDの欠陥を非垞に定性的に修正したす 。 しかし、そのような機胜がありたす。 LaTeXには「ペヌゞ転送を犁止する」ボタンがありたせん。 これは、LaTeXが最初に段萜を䜜成しおから、ペヌゞ間で行を分配しようずするためです。 ただし、InDではこのボタンを䜿甚したせんでした-どうやら、奇数ペヌゞから偶数ペヌゞぞの転送぀たり、ペヌゞの回転のみを犁止する必芁がありたす。 このボタンをオンにするず、InDesignは列間の転送耇数列レむアりトも犁止したすが、これは倚すぎるようです。



キャリヌゲヌムは、さたざたなパラメヌタヌ倀で構成されおいたす



 \righthyphenmin \lefthyphenmin \hyphenpenalty \doublehyphendemerits \finalhyphendemerits
      
      





これらのパラメヌタの詳现に぀いおは、 こちらをご芧ください 。 InDesignは、もちろん、パラグラフ圢成のプロセスに察するそのような皋床の制埡を䞎えたせん。 そしお、私はInDでは、4぀のハむフネヌションが連続しお犁止されおいるずいう事実のために段萜が䞋品に芋え始めた状況に察凊しなければなりたせんでした-しかし、これらの4぀のハむフネヌションは単語間の結果の穎ずしお段萜を台無しにしたせんでした。 したがっお、ペナルティの合蚈倀を蚈算するためのLaTeXのアプロヌチは、私にずっお非垞に理にかなっおいたす。 奇数ペヌゞからの転送は、 texttopdf



ずperlスクリプトを䜿甚しおtexttopdf



できたす 。



前文に次のような蚘述をするず、ポむンタヌの操䜜は非垞に快適になりたす。



 \usepackage{makeidx} \usepackage{multind} \makeindex{subj} \makeindex{name} \newcommand{\subj}[1]{\index{subj}{#1}} \newcommand{\name}[1]{\index{name}{#1}}
      
      





次に、テキストでは、別々の行に毎回耇数のタブでbeatられたものを挿入するこずができたすテキストのメむンストリヌム\subj{...}



ずマヌゞしないように、実行したす

sed -n "/\\\name/p;/\\\geo/p" main-file.tex | sed "s/|[)(]//g" | LANG=ru LC_COLATE=C sort | uniq > name-and-geo-index.tex





たた、ファむルをコンパむルせずに、ポむンタヌのドラフトを参照し、そこから再び必芁なポむンタヌ゜ケットを取り出しおメむンファむルにコピヌしたす。 完党なコンパむルを行うには、 xindy



蚭定を凊理し、堎合によっおは自分で䜕かを完了する必芁がありたす。 しかし、私は本の䞭で単䞀の地理的むンデックスを䜜成するこずができたした。そこにはペヌゞ番号ず添付された地図の四角がありたす。 たた、「未亡人」の芪の巣を残さないように䞋䜍レベルの巣を教えたしたInDesignでは、「次/前に保持」を䜿甚するスタむルではこれを実珟できたせんすべおの子䟛が単䞀のブロックに固定されるか、灰色の芪が次の芪に固定されたす



たた、 bibleref



パッケヌゞをfileで正しくbibleref



するず、 \bible{. 1:1}



\bible{. 1:1}



本の最埌に芋出し「聖曞参照の玢匕」があり、「新玄聖曞」セクションに「マタむの犏音曞」ずいうサブセクションがあり、そこに行11 ........ペヌゞ番号 。



この段萜であなたが燃え䞊がっお叫ぶ準備ができおいるなら、「ああ、これらの教䌚員 Habrにたどり着きたした」少し埅っおから、最も興味深い郚分に移りたしょう-写真の操䜜方法かっこ内で、 教䌚スラノ語のテキストの組版にTeXが最適であるこずに泚意しおください。



InDesignは通垞、画像を壁の爪のようなレむアりトに駆動したす。ここに配眮し、必芁に応じおテキストを流したす。 TeXは写真を浮遊オブゞェクトずしお認識したす。ナヌザヌは、「写真はここのどこか、ペヌゞの䞊郚たたは䞋郚、差なしにあるずいいでしょう」ず蚀いたす。 たた、写真は、レむアりトを配眮する30分前にペヌゞの幅を2センチカットするように指瀺されおいおも、添付されおいるテキストから浮き䞊がりたせん。 画像を最も近い右車線に衚瀺するこずもできたす。



 \newcommand{\kartinkavramke}[1]{\fboxrule=2pt\fboxsep=0pt {\centering\boxkinovar{\includegraphics[height=\textheight]{#1}}\par}} \newcommand{\kartinkavskoresprava}[1]{ \ifodd\value{page}\afterpage{\kartinkavskoresprava{#1}}% \else\afterpage{\thispagestyle{empty}\noindent% \kartinkavramke{#1}}\fi}
      
      





䞊蚘のコヌドでは、問題も同時に解決されるため、画像のみを含むペヌゞにはフッタヌたたは列がありたせん。



さお、TeXが本にむラストのリストを含めるこずは問題ありたせんさらに、このリストの芁玠は、むラスト自䜓の眲名ずは異なるものにするこずができたす。 InDesignでは、このために、おそらく癜いテキストのボックスを配眮する必芁がありたす。これは必然的にペヌゞ䞊に衚瀺されたすInDesignのサむドラむンにあるむンデックスにはむンデックスは含たれたせん。



LaTeXは、PDF、JPG、PNGなどのかなり限られたグラフィック圢匏のリストを受け入れたす。 TIFF、PSDはありたせん。 これはリラックスするこずはできたせんが、生掻は邪魔したせん。 コンパむル速床を䞊げるために、写真甚に2぀のディレクトリを䜜成できたす large



ずsmall







 cd large for i in *.*; do echo $i; convert -resize 25% -quality 60 $i ../small/$i; done
      
      





そしお、テキスト自䜓で䞀時的に䜿甚したす



 \newcommand{\pathtoimg}[1]{small/#1} \includegraphics[height=\textheight]{\pathtoimg{myself.jpg}}
      
      





最もスマヌトなマシンでさえ、人が望むようにすべおを行うこずはできたせん。最終的には、手動による調敎が必芁になりたすこれにより、コンテンツをデザむンから分離するずいう考えはいくらか砎壊されたすが、これは既にGitブランチのレベルで実行できたす。 矎しい景色を実珟するためには、鍛造ず鍛造を行う必芁がありたす。 このようなトリックにより、䜜業の䞀郚を節玄できたす。



 \setlength{\parfillskip}{0pt plus .75\textwidth}
      
      





ロシア語ぞの翻蚳では、「段萜の最埌の行を少なくずも25埋めたい」ずいう意味です。 残りの䜜業は、通垞のトリックを䜿甚しお行う必芁がありたすトラッキングスペヌスずむンタヌワヌドスペヌスの倉曎。



 \newcommand{\tracking}[2]{{\addfontfeature{LetterSpace=#1}#2}} \newcommand{\interword}[2]{{\setlength{\spaceskip}{#1\fontdimen2\font plus #1\fontdimen3\font minus #1\fontdimen4\font}#2}}
      
      





ここで喜ぶこずはできたせんが、レむアりトデザむナヌはすべおを芋るこずができたすどのツヌルが䜿甚されおいるかInDesignにはトラッキングハむラむトモヌドがありたすが、各ポむントの倀は突くたで異なる堎合がありたす



動揺するこずはできたせんが、パラメヌタヌを倉曎するたびにドキュメントを再コンパむルしお、それが刀明したか倱敗したかを確認する必芁がありたす。 文曞が巚倧な堎合、数分かかる堎合がありたす。 ただし、ここにはトリックがありたす。 \includeonly{...}



䜿甚するか、独自のコマンドを蚘述しお、LaTeXに必芁なフラグメントのみをコンパむルさせ、残りをスキップするこずができたす。



そしお今、私たちは最も難しい段階に来おいたす-印刷䌚瀟ぞのレむアりトの配達。 たず、5 mmのブリヌドが必芁です。 お願い



 \usepackage[ layoutsize={140mm,200mm}, papersize={150mm,210mm}, layouthoffset=5mm, layoutvoffset=5mm, ...]{geometry}
      
      





その埌、PostScriptでの蒞留が必芁になり、Adobe Disttillerを実行したす。 私は2぀の方法でそれをやろうずしたした



cupsfilter -P "PrintDriver.ppd" -m "application/postscript" my-book.pdf > my-book.ps



およびpdftops my-book.pdf my-book-another-way.ps



しかし、それはある皮のナンセンスであるこずが刀明したした。 cupsfilter



たたはpdftops



をcupsfilter



おからcupsfilter



をcupsfilter



した埌の黒いテキストは、耇合CMYKに倉わりたした。 Adobe Acrobat Proを䜿甚する必芁がありたした。PostScriptずしお開いお保存したす。 だから黒は圌の玔床を保った。



手䜜業で行わないために、少しAppleScriptを曞きたした。



非衚瀺のテキスト
* acro-pdf-to-ps.scpt *

 on replace_chars(this_text, search_string, replacement_string) set AppleScript's text item delimiters to the search_string set the item_list to every text item of this_text set AppleScript's text item delimiters to the replacement_string set this_text to the item_list as string set AppleScript's text item delimiters to "" return this_text end replace_chars on run argv set current_path to "/Volumes/data/process_me" set in_file to current_path & "/" & item 1 of argv set out_file to replace_chars(in_file, ".pdf", ".ps") set in_file_correct to POSIX file in_file set out_file_correct to POSIX file out_file with timeout of (8 * 60) seconds tell application "Acrobat" activate open in_file_correct save document 1 to out_file using PostScript Conversion close document 1 end tell end timeout end run
      
      





* acrodist.scpt *



 on run argv set current_path to "/Volumes/data/process_me" set opt_file to current_path & "/Typo.joboptions" set in_file to current_path & "/" & item 1 of argv set out_file to replace_chars(in_file, ".ps", "-distilled.pdf") with timeout of (8 * 60) seconds tell application "Acrobat Distiller" Distill sourcePath in_file destinationPath out_file adobePDFSettingsPath opt_file end tell end timeout end run
      
      





 osascript acro-pdf-to-ps.scpt my-book.pdf osascript acrodist.scpt my-book.ps
      
      







これらすべおのスクリプトには1぀の目暙がありたす。最埌に倉曎するこずを蚀った堎合、これらの倉曎が最終的なファむルアップロヌドに送られるストリヌムは既にデバッグされおいるはずです。 特に耇数のファむルがある堎合。



そのため、InDesignからLaTeXぞの移行が行われたした。 おそらく、取り消すこずはできたせん写真の束で雑誌をタむプセットする必芁がない堎合。 あなたの喜びで。 あなたの悲しみず共に。 たくさんの発芋。 共有する準備ができおいたす-曞いお、聞いおください。



圌らが蚀うように、幞せなTeXing



All Articles