\chapter{\TeX} % 第十一章
■ このスレッドは過去ログ倉庫に格納されています
見つかりました。fancybox.styのコマンドです。 >>40 の質問にはお答えいただかなくてけっこうです。解決しました 詳細は後で書きます expl3パッケージ読み込んだらxparseパッケージは読み込む必要ないんだな。 特に指定せず\NewDocumentCommandが使えたわ LaTeXで自分用 (公開はするけどGitHubで管理する目的だから他人が使用することは想定していない) のパッケージを作りたいんだけども,パッケージを作成するのは始めてだし,インターネットで検索して出てくるブログの情報は信用ならんし古い可能性もある。 だからLaTeX2ε公式,もしくはLaTeX3公式が発表してる文書ってあるかな。 TeX Live 2017には収録されてないっぽい。 You can define new verbatim environments using \newenvironment. You just have to start the definition with \VerbatimEnvironment For example, here is the framed verbatim environment we tried earlier: \newenvironment{FramedVerb}% {\VerbatimEnvironment \begin{Sbox}\begin{minipage}{5cm}\begin{Verbatim}}% {\end{Verbatim}\end{minipage}\end{Sbox} \setlength{\fboxsep}{8pt}\fbox{\TheSbox}} \begin{FramedVerb} if { foo } { bar } fi \end{FramedVerb} と書いてあった。とりあえず\newenvironmentを使ってあたらしいverbatim環境を 定義するときには\VerbatimEnvironmentを書かないといけないという程度で お茶を濁します。 fancyboxの説明のpdfも難しいですね \[ \begin{array}{|l|>{$}l<{$}} x_1,y_1 & starting position\\ x_2,y_2 & ending position\\ \end{array} \] で、>{$}l<{$}のところなんですが ヘルプにはIf you use this type of a preamble in an array–environment, you get a column in LR mode because the additional $’s cancel the existing $’s. と書いているのですが、array環境でだけでしょうか? $$y=f(x)$$は数式モードのキャンセルじゃなくて、普通ディスプレイモードでの表示 なので。 あんまり完璧な「過去との互換性」を要求しだしたら (i) platex.ltx, plcore.ltx, pldefs.ltx もあんまりいじってはいけない。 いじるなら名前を変えて fmt ファイルも違う名前にすべきだっ。 (ii) ptex エンジンも、あんまりいじって互換性を崩してはいけない。 いじるなら名前を変えるべき。 そんな話を嫌って luatex-ja に移行しても、しばらくするとまた今度は lualatex-ja での過去互換性が問題になってくる、とキリが無いような気がする。 >>47 それもそうだし現実的にメンテナ側で「過去との互換性」の対応するのは不可能だよね 過去の出力結果を崩したくない個人個人が各々のシステムを固定化して保存することが唯一の現実的な解だと思うよ あまり「jsclasses を変更するな」って言い続けると「ご要望により jsclasses のメンテを終了します(これから先 TeX のシステムに変更があり動かなくなっても何もしないよ)」ってことになる可能性もあるよね >>46 $$y=f(x)$$ の「$$」は 「$」と「$」じゃないよ「$$」という命令 もし「$$」の「$」が単独の命令だとすると 「$$」(中身のない数式環境)「y=f(x)」(平文と同じ出力)「$$」(中身のない数式環境)になるもんね >>47 >あまり「jsclasses を変更するな」って言い続けると「ご要望により jsclasses のメンテを終了します(これから先 TeX のシステムに変更があり動かなくなっても何もしないよ)」ってことになる可能性もあるよね そしたらadvanced-jsclassesにフォークするのが本来のフリーソフトのポリシーじゃ? 「自由に改変すべし」と主張する自由を認めるなら「互換性重視でいくべし」と主張する自由も認めないと でどうしてもやりたければフォークする フォークするのの何が問題なのかな? リソースが分散して停滞するのが問題なのか?特に、 >> そんな話を嫌って luatex-ja に移行しても、しばらくするとまた今度は >> lualatex-ja での過去互換性が問題になってくる、とキリが無いような気がする。 のように際限なしに分散するのが問題なのか? 私見だけど、多数に分散してリソースがばらけても、いくつかの少数のフォークが主流になってリソースが再集結して生き残るように思う # 生物の進化みたい >>49 よくわからないのですが |l|>{$}l<{$}の場合は、数式モードがキャンセルされるけど $$y=f(x)$$の場合は$$..$$が一つのコマンドなので、キャンセルの意味じゃない という説明なんでしょう。ありがとう $$による別行数式はLaTeX2εにおいては間隔処理に不具合が生じるみたいだけど(伝聞), どうしても$$じゃないと駄目なの? \[\]のほうが分かりやすくない? 開き括弧と閉じ括弧が対になっててさ。 >>52 >>46 の{|l|>{$}l<{$}} の意味のことだけなんです。 $x_1,y_1$ starting position\\ $x_2,y_2$ ending position\\ と似たようなものが出て来ます。・ {|l|>{$}l<{$}} に関係しているところは(数式モードではなく) 普通の文字でstarting position等出て来ます。 $$..$$をdisplayモードとして使うのはよくないとかそういうことは 関係ないんです。 >>50 >フォークするのの何が問題なのかな? リソースの分散が一番の問題じゃないかな?pTeXの中の人じゃないからよくわからないけど十分な人材がいるとは思えないしね メンテをするなら多くの人が利用するもの(jsclasses等)に絞ってやりたいと思うよ そして奥村さんが要求していることは「何がなんでも組版結果を変更しないこと」ね そのことでの問題点は jsclasses や pTeX などを変更しなければ解決する問題じゃないってこと 日本のメンテナの上位で変更が行われれば日本で何もしなくても組版結果が変わる可能性はいくらでもあるということ TeX Q&A でアセトアミノフェンさんが例を出しているけど日本のメンテナが何もしなくても組版結果は変わってしまうからね すでに枯れてしまったソフトウェアならある時点以降すべてを凍結して一切手を加えないという手法で組版結果を変更させないということができるけど TeX 等は完璧なソフトウェアやパッケージではないし不具合などはこれからも出てそれを修正し続けるわけだから普通に考えれば利用者が「TeXシステムは更新する」けど今まで気が付かなかった不具合等を含めて「組版結果は変更するな」は現実的じゃないよね すなわち「TeXシステムを更新し続ける」ことと「組版結果を維持し続ける」ことは両立しない したがっていずれかを諦めることになるのだけどそれを可能にする唯一の方法は自分の望む「ある時点のシステム(PC含む)を固定化して保存する」ということじゃないのかな? もちろん組版結果を絶対に変えたくない人(商業出版に関係する人など)だけがやればいいことなんだけどね >>46 >in an array–environment で答えが出ているんじゃないのかな? >>55 よくわかりません そもそもyou get a column in LR modeだけどLR modeは左から右へずっと続くモード だからcolumnなんてあるのかと今みて思った >>50 フォーク云々の話じゃないんだよね 例え pTeX 関連全部を凍結したとしても上流の作業次第で出力結果はいくらでも変わりうるということ だからどうしましょうか?という提案をメンテナさんがしているのだが奥村さんを含めて皆無関心という状況だね https://github.com/texjporg/platex/issues/66 アセトアミノフェンさん以外誰も書き込んでいない… >>57 本人乙 若手のメンテナとういうか、tex界隈の人はアレアレうるさいのが鬱陶しい 面白いと思ってんのかね >>58 www アレアレうるさいのは確かにw でも本人じゃないし pTeX の中の人でもないよ・ω・ 全角カンマを、数式中のみ常にmathpunct扱いにしたいのですが、どうすれば良いでしょうか? ここってSATySFiの話題おk? あれってPDFのメタデータって弄れないのかな。 PDF Viewerで見ると,「名前」や「製作者」の欄が空白になってる。 fancybox.styのドキュメントで\doublebox The width of the inner frame is .75\fboxrule, and the width of the outer frame is 1.5\fboxrule. The distance between the two frames is 1.5\fboxrule plus .5pt. とあります。二重の外枠をつけるコマンドが\doubleboxなのですが、内が0.75\fboxrule外が1.5 \dboxeruleだと大きく内枠と外枠が離れすぎているような気がします。 それに二つのフレームの間の感覚は、1.5\fboxruleではなくて、1.5-0.75=0.75の ような気がするのですが、上の書き込みに書いていることは正しいのでしょうか? 自己解決しました。 fboxruleというのは線の太さですね。外枠の太さと内枠の太さは違うと いうことです。 \thinlinesというコマンドですが、 latex2eというドキュメントにあるのですが the default line thickness for horizontal and vertical lines in a picture environment ということらしいのですが、このデフォールトの値を知ることはできるのでしょうか? あるいはそれを変えることはできるのでしょうか? IDがないからなんとも言えんが昨日あたりから質問してるのって同一の人かな? 質問するのは自由だけどそんなに勢いがあるスレじゃないし、あまりそういう目的には向いてないと思うよ。 スタック・オーバーフロー [https://ja.stackoverflow.com/ ] やらで訊ねたほうが有益なんじゃないかな。 繰り返すが人のすることなんで無理強いはしないが。 >>67 でもアドバイスありがとう 分散させます。 俺は個人的には自問自答もどんどん書き込んでいってほしいな。 そういうのはあんまり5chでは受け入れられないかもしれんが, 過疎っている&専門スレだし,いいかな〜とか思ったり……。 マルチポストは嫌がる人がいるから同じ質問を違う場所ですることは避けてね texlive 2018 pretest でアップデートしたら jkmath というパッケージが新たにインストールされた。 ちょっと期待したが、期待はずれだったw >>72 ワロタ Google画像検索に掛けると金髪幼女の写真がなぜか幾つかあったw >>72 >jkmath メンテナの名前が、Jonas Kaertsさん jkmathいいね。\set{}が何か組版上の命令と被りそうで怖いけど。特に\def\let絡みで……。 \mathsetdef{}とかにしたほうが良いんじゃないか。 pointを図るために、rulerソフトをダウンロードした。 単位はmm,cm; picas, inch, あともう一つ、しかなくて、pointは ないんだけど、1point=1/12 picasなので、電卓で計算すればいいとおもってる。 できたpdfで測ってみたけど、コマンド通りの空きだった。 パソコンの画面の大きさをソフトの設定に入れたあと、物差しをもってきて 実際にそのソフトの1cmは物差しの1cmか測ってみるのがいい。 retinaだといろんなものが小さく見えるということがあって、retinaに対応していない ソフトを使うと、間違った空白開けになるから。 free rulerだったかな。無料のrulerがあるよ >>76 ごめん。俺の頭が悪いせいなんだが、いったい何をするためにそういうことをしているのか理解できん。 正確な長さが欲しいの? truemmとかではだめなのかな。 次のコードだとpointが出てきます。他人のコードを読む時に 換算は必要だと思います。 mmの場合でも、物差しがあると便利です。 \newlength{\mylength} \[ \setlength{\fboxsep}{15pt} \setlength{\mylength}{\linewidth} \addtolength{\mylength}{-2\fboxsep} \addtolength{\mylength}{-2\fboxrule} \fbox{% \parbox{\mylength}{ \setlength{\abovedisplayskip}{0pt} \setlength{\belowdisplayskip}{0pt} \begin{equation} x+y=z \end{equation}}} \] >>79 いやありがとうじゃなく、どうしてrulerソフトとやらが要るのかを訊いてるんだが。 デザインする時にはルーラーソフトは必要だよね また\setlength{\fboxsep}{15pt} \setlength{\mylength}{\linewidth} \addtolength{\mylength}{-2\fboxsep} \addtolength{\mylength}{-2\fboxrule} あたりも実際どういうことなのか確かめて見ないとわからんでしょ pathの通し方について教えていただけたらと思い、書き込みをします。 その1、 ps2pdfが/Applications/MacGhostView.app/Contents/Resources/bings/ の中に入っています。これのパスを通したいのです。 その2、ところが個人用設定のtexmf.cnfを開いたところ TEXMFHOME = ~/Library/texmf TEXMFVAR = ~/Library/texlive/2017/texmf-var TEXMFCONFIG = ~/Library/texlive/2017/texmf-config と書いていました。その一番下に、 export PATH=$PATH:/Applications/MacGhostView.app/Contents/Resources/bings/ と付け加えました。 その3、保存して、さらに、mktexlsrをして、 ターミナルを終了し、再度立ち上げました。そして kpsewhich ps2pdfと打ちました。答えは返ってきません。 その4、これだとlatexのファイルの方で、ps2pdfを使う設定をしたところで、 それを呼び出すことはないでしょう。 結局、その2が悪かったということになるのですが、どのように書けばいいのでしょうか?また、texmf.cnfに書くということではダメなのでしょうか? (というのはlatexを動かさない限り、読み込みなどないため) つまり、.bash_profileにpathの読み込みの追加の export PATH=$PATH:/Applications/MacGhostView.app/Contents/Resources/bings/ を書かないといけないのでしょうか? (だけどこれは古い方法で今ではそういう書き方をしない、texmf.cnfに書くという ことを前に教えていただいたような気がします) どうか教えてください。 ごめんなさい 解決したと思います。.bash_profileに書かないと読み込まないということです。 さらに、texmf.cnfにパスを書いても意味はなくて、texmf.cnfで管理している ファイルは、latex関連のファイルなので、ps2pdfというlatexとは関係のない ファイルのpathを書いたところで意味がないということです。 kpsewhich ps2pdfとしても何も結果が出てくるわけではないのも、 latexとは関係のないファイルでps2pdfがあるからです。 そもそもps2pdfがなぜ /Applications/MacGhostView.app/Contents/Resources/bings/ に入っているかというとMacGhostViewをダウンロードしたからです。 ダウンロードした理由は、ps2pdfがそもそもMacTeXではインストールされなかった。 そしてsudo tlmgr update --self とすると TeX Live 2017 is frozen forever and will no longer be updated. This happens in preparation for a new release. と表示されたからです。 それで調べてMacGhostViewをダウンロードすると、ps2pdfも一緒にダウンロード されると調べて、そのようにしました >>82 ->>84 は無視してしまってください。 その上でなんですが、何か思いつくことがあればヒントをください。 texshopでシェルスクリプトを設定する場所があります。 そこでシェルスクリプトを指定しました。 その中にはps2pdfを読み込むという設定が書いています。 ラテフの文書をタイプセットしたところ、シェルスクリプトは ちゃんと読み込んだようです。ところがps2pdfを見つけられなかった とでました。 ps2pdf: command not found .bash_scriptでps2pdfにpathを通し、通っていることは確認できています。 ps2pdf --hと打って、使い方が違うという注意がでるからです。 それなのになぜps2pdfを見つけられないというエラー表示がでるのかわからないのです。 lualatex + biblatex で、CiNii検索やMendeleyで得られるbibtex書誌情報を 無修正で使う主義の人、おわす? (著者名「姓,名」のカンマを除かない・langid=japaneseを書き加えない) ちょっと試したところでは ・前田氏のパッケージ https://github.com/kmaed/biblatex-japanese ・texlive2017付属パッケージ biblatex-gb7714-2015 のそれぞれで姓と名が入れ替わる問題に対策うてるっぽいけど、 プリアンブル設定がかなりややこしくなりそう >>85 ps2pdfの場所を調べてフルパスで指定する Linux なら ps2pdf は /usr/bin ディレクトリなどにリンクを作っておけばいいけど Mac はどこになるかは知らん これだとフルパスで指定しなくてもよくなる >>88 /usr/local/binだとおもう。 たしかに それを書くと.bash_profileにパスを追加する必要もないですね その方がいいですね。そういうのを知りたかったんです。 >>89 マルチといわないでくれ。 たしかに、texshopの設定に書かずに直接シェルスクリプトを動かすというのが バグを取る方法ですね。(まだ、解決してないけど) なんちゃらかんちゃら.shの拡張子のファイルは、bashでもなんでもokということです https://stackoverflow.com/questions/5725296/difference-between-sh-and-bash >>90 拡張子じゃなく最初の行になんとかいらか聞いてんだ >>91 #!/bin/shから #!/bin/bash に、pdfplatex2というファイルに書いてることを直したよ。 ちなみにpdfplatex2というファイルはもともと /Users/namae/Library/TeXShop/bin/ に入っていたシェルスクリプトです。 >>92 いえいえ。いいですね。花見があって。 >>82 $ sw_vers -productVersion 10.13.3 PATHは、$HOME/.bash_profileよりも$HOME/.profile に書くべきと思います。 また、スクリプトでは、 ps2pdfの代わりに /Applications/MacGhostView.app/Contents/Resources/bings/ps2pdf と >>85 の助言通り、フルパスを書けばOKだと思います。 別の方法として、シンボリックリンクをはる方法やaliasを使う方法もありますが。 Macを購入したら、まず、$HOME/.profile にPATHや環境変数を書いて、 俺様スクリプトは$HOME/bin を掘ってそこに置くと、 マシンを交換するときもそのまま持っていけます。 シェルスクリプトを呼び出す親プロセスがきっちり決まってるなら、その親プロセスの環境変数を適切に設定すればいいけれど、親プロセスが何種類もあって、それぞれの環境変数がバラバラならばシェルスクリプト内ではフルパスで書くのが簡単でトラブルフリーだと思う >>94 >>95 フルパスを書くことについて教えていただいてありがとうございます。 まだそれについてはしていません。 shell scriptの中身をチェックしているところです。 (というのはshell scriptを直接実行すると、出てくるエラーがdvipsが動かない) というものだからです。正確には次のものです。 This is dvips(k) 5.997 Copyright 2017 Radical Eye Software (www.radicaleye.com) dvips: DVI file can't be opened: .dvi: No such file or directory そこでdvipsだけ取り出してみることにしました。dviファイルとして /Users/hiro/Desktop/test7/test7.dvi を作りました。 そして、/Users/hiro/Desktop/test7/ディレクトリにcdで移った上で、 A) dvips -Ppdf -z -f ./test7.dvi とオプション-fをとった後の B) divas -Ppdf -z ./test7.dvi をしました. Aではエラーが出ました。(わけのわからない長いコードの羅列がでました) そしてpsファイルは作られませんでした。 Bではエラーは出ず、カレントディレクトリにpsファイルが作られました。 そのpsファイルをクリックしたところ、問題なく求めたファイルでした。 (続く) 96の続きです。 結局dvipsの-fオプションがあるとうまくいかないのだと思い、 元々のシェルスクリプト /Users/hiro/Library/TeXShop/bin/pdfplatex2 をエディターで開き、dvips -Ppdf -z -f "`basename "$1" .tex`.dvi" | \ の部分を-fをとり、 dvips -Ppdf -z "`basename "$1" .tex`.dvi" | \ に書き改めました。 そして、もっと簡単にして #!/bin/bash platex -synctex=1 "$1" && \ dvips -Ppdf -z "`basename "$1" .tex`.dvi" という内容のtest2というシェルスクリプトを作り、同様に簡単なtex fileを作り、 シェルスクリプトを実行すると、 This is dvips(k) 5.997 Copyright 2017 Radical Eye Software (www.radicaleye.com) dvips: DVI file can't be opened: .dvi: No such file or directory とでます。 結局、>>94 さん、>>95 さんが教えてくださっているように、dvipsがファイルを 見つけられないという点が問題ということになるのですね。 あと、自分で考えてみます。うまく行ったら報告します。 ありがとうございました。(また細かなことで質問するかもしれませんが そのときはよろしくお願い申し上げます) もしかして今時 (原稿) ↓ TeX DVI ↓ dvips PostScript ↓ Acrobat Distiller PDF っていう方式で論文書いてんの? 研究室の規則とかならともかく(ていうかそんな規則あったとして糞だと思うが) 個人でやってたりするならLuaTeX系使って (原稿) ↓ LuaTeX PDF のほうがいいんじゃないかな……。 前スレの最後あたりでもちょろっと出てきてたんだけど TeXのjobnameってどういう時に役立つんだろうな。 LuaLaTeXにまで引き継がれているということは相応の役割があるんだろうとは思うが >>98 特定のstyファイルを使うためにdvipsが必要です >>100 具体的にどれ? 世界でpdflatexがデファクトスタンダードになってどれだけの年数が経っていると思っているんだ。 dvipsに依存するパッケージなんて既に淘汰されいる化石だろ。 >>102 tcolorbox.styを使えよ fancybox.styの\ovalboxとか角の丸がズレるだろ ちょうどjobname使って試行錯誤してたので貼っとく (ながくてうざいと感じるひと多いと思うがご容赦願) \begin{filecontents*}{\jobname.bib} @book{ BA6927098X, author = "Abramowitz, Milton and Stegun, Irene A.", title = "Handbook of mathematical functions : with formulas, graphs, and mathematical tables", publisher = "Dover", year = "1972", edition = "8th Dover printing", series = "Dover books on advanced mathematics", number = "", URL = "http://ci.nii.ac.jp/ncid/BA6927098X" ; } @book{ BA72069811, author = "小林, 幹雄 and 福田, 安蔵 and 鈴木, 七緒 and 安岡, 善則 and 黒崎, 千代子", title = "数学公式集", publisher = "共立出版", year = "2005", URL = "http://ci.nii.ac.jp/ncid/BA72069811" ; } \end{filecontents*} \documentclass[12pt,a4paper]{ltjsarticle} \usepackage[style=gb7714-2015ay,gbpub=false,giveninits=false,maxbibnames=99]{biblatex} \addbibresource{\jobname.bib} \begin{document} \section*{biblatex-gb7714-2015の試用} 記号は\textcite{BA6927098X}、\textcite{BA72069811}に準じた。 \printbibliography[title=参考文献] \end{document} >>104 \begin{filecontents*}{\jobname.bib} \addbibresource{\jobname.bib} は\jobnameを使う必然性も利便性もなく、 hoge.bibでもなんでも良いから、 意味のある\jobnameの活用事例にならないのでは。 参考文献ってXML形式の標準規格がいまだに存在しないめずらしい学術関連の機構だよね。 ああいう細かい場合分け(YYYY年出版の第n版,5刷とかさ)が必要な情報はXMLにすべきと思うんだけど、 なにしろ歴史がいやにあるもんだから各種方言に対応しないといけないのかもしれん。 >>105 おいらにもそう思ってた時代がありました stackexchangeでは質問者に「jobnameとfilecontentsを使ってサンプルを一つに まとめて貼ってみよ」と指示するのがお約束みたいなんで、試しに真似してみたら… コピー作って書き換えて試行錯誤する時に手間が減ってめちゃ便利、もう戻れない >>106 biberドキュメントにXMLの話があったの思い出して見てみたけど biblatexmlというのを作ってて まだexperimental段階みたい たしかに大変そう >>106 標準規格でないかもしれないけど、xmlに/から変換はよくする bibutilsのbib2xmlとかxml2bibで >>101 fancybox自体は動くんだけど、PSTricksも一緒に使いたい。 そのとき枠がかけないという不都合が起こります。 http://tug.org/PSTricks/main.cgi/ たしかに古いので、できるようになろうというのは実用的ではないですが もともとの動機が、本に書いていることを理解しようということなので。 >>109 LaTeXを利用して執筆することが目的ではなくて、 古典的なツールを学習するのが目的なら、 ここで助言を求めずに、好きにすればいいね。 骨董品を学習するのもいいけど役に立たないだけじゃなく取り残されるだけのような気もするけどな ただでさえ簡単に使えるようになるものじゃないんだからできるだけ最新のものを追いかけたほうがいいと思うよ 自分、LaTeXのソースコードの名前とそれが入っているディレクトリ名を一緒にしている (e.g. ./somedoc/somedoc.tex)んだけど、みなさんはどんな感じ? 予想では自分のように〈文書の名前〉/〈文書の名前〉.texっていう管理が多いと思うんだけど、 おすすめのLaTeXソースコード管理法があればぜひおしえてほしい……いや、おしえてください。 >>97 の続きです。 みなさんに教えてもらったdvipsのパス指定に ついては、.bash_profileにいまだ書いたままで これから修正していきます。 とりあえず今の時点での報告をします。 /Users/hiro/Library/TeXShop/bin/test4 というシェルスクリプトを書いた。 他方でデスクトップに /Users/hiro/Desktop/test7/ というディレクトリがあり、ここに 移ったうえで、上のシェルスクリプトを 起動させることにする。また、移動した 上記ディレクトリには /Users/hiro/Desktop/test7/test7.tex が入っている。このテフファイルを、psファイル に変換できるのか?というのが今の 課題だった。課題は解決できた。 つづく >>113 の続き それを説明するにあたり、シェルスクリプト /Users/hiro/Library/TeXShop/bin/test4 の中身を晒す。 #!/bin/bash #bashに変えた read input #キーボードからの読み込みにreadを使う platex -synctex=1 $input && \ # texファイルを作る。 dir=`dirname $input` #texファイルのディレクトリ名をdirとする name=`basename $input .tex` #texファイルのファイル名から拡張子を除きnameとする full=`echo ""$dir"/"$name".dvi"` #dirの中身/ファイル名.dvi. #拡張子をdviにしている。それをfullと名付けている。 dvips -Ppdf -z "$full" #ディレクトリ名付きファイル名.dviを #dvipsにかける。オプションには-fはつけない。エラーが出るから。 #以下のところがコメント行 苦労したのはファイル名を.dviのものに変えるために、元々のファイル名を バラして組み立てたこと。 その際に、dirname, basenameというコマンドをしった。最初悩んだが、 これはシェルスクリプトのコマンドだからmanが使えるはずだとおもってやってみた。 man basename > /Users/hiro/Desktop/man_no_kekka で、できるファイルman_no_kekkaはemacsで開くと文字化けして読めなかった。 (なぜなんだろう?わかる人理由と解決法教えてください) また、キーボードからの入力に"`$1`"というのがもともとのものだったが これだとうまくいかなかったのでググって、read inputというものを知った。 >>110 >>111 意識としては、こういうことです。 fancybox.styも他の新しいstyも 対して変わらないはず。 その上で、それが使えないなら使えるように してやろう。 もともとの動機は、texshopのshell script読み込み (preferenceのところにある)を適切に 設定すれば、shell scriptが読み込める。 つまりは、どんなファイルの読み込みも シェルスクリプトを書きさえすればコントロール できる。 mactexを道具の一つとして使える。 ここまではまだ到達していなくて、 まだ通るシェルスクリプトを、 途中まで書いただけですが、pdfが できるまでは道は遠くない。 それができれば、あとは、 このシェルスクリプトをtexshopに 合うように変えることが残っている。 mactexを道具の一つとして使える。 は間違いで texshopを道具の一つとして使える。 に訂正 >>110 なるべくブラックボックスの部分を 無くしていきたいと思っている。 ただ、fancyboxのコードを読むというのは とてもじゃなく手に負えないので、 それはもっとシェルスクリプト、TeXに 慣れてからということになり、 優先順位は低い。 せいぜい、texdocでパッケージの ドキュメントは読んで理解して使うという 姿勢は持ち続けたい。 自分でドキュを読み、自分で考えて 使えないものは使えるようにしてやること で、必要なポッケージを自分で選択し、 それを使うという柔軟性を取得できる と思うからだ。 最後に。そのtest4というシェルスクリプトの実行方法は、 /Users/hiro/Desktop/test7ディレクトリに移ったあと、 test4シェルスクリプトを実行する。 プロンプトに続き、/Users/hiro/Library/TeXShop/bin/test4 と打ってリターン すると、そのままパソコンは待ちつづけるので、次の空白行に 処理したいテフファイルをディレクトリごと書く。(ドラッグドロップでOK) /Users/hiro/Desktop/test7/test7.tex そしてエンター すると、/Users/hiro/Desktop/test7ディレクトリに、 test7.dvi,test7.aux, test7.log, test7.synctex.gzと、待ちに待ったtest7.ps ができている。test7.psの中身を見たければ、ダブルクリックをするとPreviewが 開いてそれを示す。 test7.texの中身も晒します。 \documentclass{article} \usepackage[ps2pdf]{pstricks} \usepackage{fancybox} \begin{document} \setlength{\fboxsep}{20pt}% \newcommand{\titledframe}[2]{% \boxput*(0,1){\psframebox*{#1}}% {\psframebox[framesep=12pt]{#2}}} \titledframe{My title}{% \parbox{2in}{The title is superimposed on the top part of the frame.}} \end{document} >>94 整理の仕方を教えていただき ありがとうございます。 本当に助かります。 参考にして、そのようにパソコンを しようとおもいます。 >>112 僕も知りたい。latexで書くファイルの ディレクトリの管理の仕方などを どなたか教えてください 自分はDocumentsの中に作った my_workというディレクトリなかに mapleのディレクトリと、 texfileのディレクトリを 作っておいて そのtexfileのディレクトリごとに 論文ごとのディレクトリを作り そこにそれぞれの論文作業を入れている。 タイトルは論文タイトル_日付_tex mapleという方も同じ。 その中に 論文ごとのディレクトリを作って、 それぞれのディレクトリは 論文タイトル_日付_maple チェックしてないけどこんな感じ そのtexfileのディレクトリごとに は そのtexfileのディレクトリの中に に訂正 >>123 俺さまstyやinputするtex(頻用するTikZ画像を含む)、所属組織のロゴなどのpdfは、 $HOME/texmf 配下に入れている。 また、OS標準のTeX一式よリも新しいバージョンのstyを使いたい時、 OS標準のTeXに含まれていないフォントを使いたい時なども、 同様に$HOME/texmf 配下に入れている。 ※OS標準のTeXは、Linuxディストリビューションに入っているTeXLiveや、MacPortsのTeXLiveなどの意味 TeX原稿の方は、基本的に全くの自由だと思う。 出版社にディレクトリ構造やファイル名を指定された場合はもちろん従う。 出版社によって、全く自由にさせてくれるところと、きっちり指定してくるところがある。 論文の原稿は全くの自由にすれば良いと思う。オンライン投稿システムにアップロードする時に、 不都合がなければ良い。 また、どのバージョン管理システムを使うのかによっても、 ディレクトリ構造の整理に影響があるのでは。 俺は上の奴と一緒で~/work/univ/2/sm1/linarg/20170223/report1/report1.texみたいな構造にしてるわ。 C言語とかでも、単一のソースファイルからなる小さいプログラムならfooprog/fooprog.cみたいにしてるのを多く見たのでそれをパクった。 あと俺はMakefileでコンパイルを管理してるんだけどカレントディレクトリとソースファイルの拡張子抜いた名前が同じだと色々やりやすいってのもかなりデカい理由だね。 >>114 TeX からかけ離れているような気もするけど $ man basename > man_basename して emacs で開いたけど別に文字化けしてないよ 使われている文字も文字化けしそうなものは見当たらなかったし… 文字コードがおかしいなら C-x RET r などで変えてみればいいんじゃないのかな? TeXから離れすぎ シェルスクリプト総合 その26 ttp://mevius.5ch.net/test/read.cgi/unix/1489979246/ man basenameをそのまま見ないのは何故なのか理解できないけど、 保存したいのなら、man2html でブラウザから見た方がよいのでは? なお、 $ sw_vers -productVersion 10.13.4 $ type man man is hashed (/usr/bin/man) $ man basename > hogehoge.txt $ less hogehoge.txt 全く文字化けしない >>127 >>128 、ありがとう lessで読むと、変なふうにならないですね シェルスクリプト総合 その26 ttp://mevius.5ch.net/test/read.cgi/unix/1489979246/ の方に書きました。manの「文字化け」についてはそちらで。 俺はプログラミングに関しては素人に毛が生えた程度の人間で、(La)TeXに対してはもっぱら開発ではなく使う側にいるのだが、 最近TeXってかなり(言い方悪いが)ゴミな言語なんではと思うようになった。 その理由として 1. 組版言語であると同時に利用者が直に記述することを想定もしている。そのため「人間が普通≠ニ思うこと」を機械に解析させている(ピリオドとか)。 しかし結局は組版をするための細かい命令もしなくてはならない(イタリック補正とか) 2. 開発された時代が時代な為、名前空間もなにもあったものじゃない。\def\def{def}\defの出力がdefなのはどう考えてもキモい。 ところでTeXにはCやPythonで言う「予約語」は存在するのか? プリミティブはあるけど直前で示したように変更可能。 3. 同じく時代のせいで、構造と装飾が癒着しまくっている。どうにか分離しようとしたLaTeX2εでも甘い部分(中央揃え「←これは装飾なのに環境になってる」など) がまだ多く残ってしまっている。 解釈の原因は解釈者が持つ自分ルール。解釈の自由は責任を伴う 言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡 憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂 「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩) 他人に不自由(制約)を与えれば己も不自由(不快)を得る 問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求 情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳 自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔 人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験 キリスト教は世界最大のカルト。聖書は史上最も売れているト本 全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物 人生存在現象に元々意味価値理由目的義務使命はない 宗教民族領土貧困は争いの原因ではなく口実動機言訳(原因帰属錯覚) 虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育 体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁 死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善 核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤 投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左 感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・) クヌース先生がTeXを開発したコンピューターってUnix系列? クヌースはunixの考え方とは合わないと少し前に書く人がいたけど そのときには文芸的プログラミングとUnixの考え方が合わない ということを言ってたのかもしれないけど、文芸的プログラミングというものが どういうものなのかということがもう少し判りやすければいいのにな。 いくつかみてわからなかった https://pineapple.blog/ 再掲-文芸的プログラミングが普及しなかった理由-8aa97e0a3db4 単にソースコードのコメントがそのソースコードからコンパイルされるプログラムの説明書になっているという理解ではだめなのかな。 >>134 >文芸的プログラミング 文章の中にプログラムのソースを差し挟むことができるプログラミング手法だろ。 >>135 出来上がる文章は、必ずしも説明書でなくても文芸的プログラミングだと思うけど。 >>135 たったそれだけなんですか? 教えてくれてありがとう http://0-chromosome.hatenablog.jp/entry/2015/04/10/175912 ↑hyperrefパッケージは行儀が悪いそうですが、ほかにもあまり使うべきでないパッケージがあったら教えてください。 geometryとかもあまりよくないと聞いた憶えがあります(記憶違いかもしれません)。 普段はLuaLaTeXで組版しています。 hyperrefで思い出したんだが,\pdfinfoプリミティブってLuaTeXから削除されてる? Undefined control sequenceって言われるんだけど……。 $ luatex --version This is LuaTeX, Version 1.0.4 (TeX Live 2017) ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる