\chapter{\TeX} % 第十章 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>265-748
あけましておめでとうございます
>>737
$ \tex <<-EOF > /dev/null 2>&1 && \dvi2tty ./texput.dvi
> \nopagenumbers
> \noindent
> \tt\meaning\someCS
> \end
> EOF
\someCS に好きなコントロールシーケンスを入れれば標準出力にその定義が出力されるぜよ
TeXLive2017 あたりなら確実にいける >>745
うーん \def は TeX のプリミティブだからそれ以上どうにも表示ができないのでは?
texdef --tex latex @nameuse
って打ったら
\@nameuse:
macro:#1->\csname #1\endcsname
って返ってきたよ
texdef --help してみたら?
ちなみに私の環境では latexdef は存在していなくて texdef --tex latex とするみたい 個人的に便利だと思ったので (自画自賛) コマンドにしてみた。
エラー処理ガッバガバだけど許して
https://pastebin.com/69NXtFQE 737から一切の返信がないので751は頑張り損だったな藁
しかも糞下手なスクリプトでウケる というか、>>749 >>750 >>751 で書いていることが全然理解できないんです。 texの勉強は何をしたらいいんですか?
ターミナルの使い方から難しい。
奥村先生の本は一通り読んだのですが、それも難しかった。
奥村先生の本を頑張るしかないですね。たぶん。
自己完結してしまった..はぁ >>753 は >>737 と同じ人?それとも別人?ちょっと同一人物には思えないけどその書き方じゃ「理解できないからどうしたの?」とか「ふーん」としか言えないよね…
>>754
TeX の勉強と言われてもね…普通は TeX ブックとか答えるだろうけど多分 >>754 じゃ内容を理解できないと思うし…
奥村本を読んだみたいだけど本を読むことと本の内容を理解することは全く別だし仕方ないよね…その人の能力に依存するから
頭の悪い人は「わからない」「理解できない」「難しい」みたいなことしか言わないんだよな…
「何が」わからないのか説明ができないから親切な人でも全く解答できないというw
答えを欲していないならこういうとこに書き込むなよと… >>754
「texの勉強」って、何をさしているの?
ぶっちゃけ、美文書作成入門は、LaTeXの使い方入門にすぎない。
(La)TeXで何をやりたいか、それによって何を勉強すべきか、自ずと見えると思うけどな。 初心者がtexっていったらlatexのこと指してるのわかるのに、あえて突っ込むやつら しかし>>754はtexとは全く無関係にターミナルという端末エミュレータの扱いに困っているように見えるが…… ls、cd と./の意味さえわかればどうにでもなるよ! >>754
LaTeXを勉強する以前に、ITやコンピュータに関する一般的知識が欠落しているかどうか考えてみては。
LaTeXを使うだけなら、テンプレートの類をテキストエディタで開いて
\begin{document}と\end{document}の間に文章を書くだけの簡単なお仕事だよね。
一般的知識がないとあなたに言っているのではなくて、あくまでも一般論だけど、
例えば、\beginを全角文字にしてコンパイルできないとか、
LaTeXを正常にインストールできていないのでコンパイルに失敗するとか、
文字コードを自分で変えたのに文字化けして原稿が失われたと騒いだり、
こういう永年初心者のあるあるは、
TeXとは直接関係がない、もっと基本的な論理的思考と常識の問題だよね。 こうしてまた一人TeXから離れていくのであった……。 styファイルを作るのに参考になる文献で、かつ可能な限り新しいものって何がありますかね?
tcolorboxでオレオレ枠を作ろうとしてるのだけど
汎用的に作ろうとすると条件分岐とか可変長引数とかがうまくかけなくて破綻してしまう >>762
マニュアルあれだけ丁寧なのに他にいる? Tex は組版に革命をもたらした一方で、停滞ももたらしたからな。
最近はTex/LaTexの屑みたいな仕様とマクロを捨てる動きがあるみたいだが。 数式だけTeXのそれにのっとって,他の文章は他のよりよい組版駆動機に任せるのがいいのかもね。
ちょうどCSS組版 (+MathJax) やAsciiDocみたいに。 >>762
\tcbset{hoge/.style={...},fuga/.style={...},awawa/.style={...},oreboxdefault/.style={...}}
みたいに複数のスタイルとデフォルトを定義してボックスを
\newcolorbox{orebox}{oreboxdefault}
と定義して
\begin{orebox}[hoge]
\begin{orebox}[fuga]
\begin{orebox}[awawa]
のような使い分けの方が汎用的なものを無理に作ってマクロで条件分岐や引数の個数で悩むよりいいんじゃないかな? >>762
>可能な限り新しいもの
というなら texdoc interface3 で表示されるPDFかな? jsclasses使ってるのですが、全角括弧の外側が空きすぎてるように見えます
行頭のように括弧を半角幅にし、さらに外側にkanjiskip(xkanjiskip)が挿入されるようにしたいのですが、どうすればよいでしょうか >>770
半角括弧を使うってのじゃダメなの?
全角→半角ならエディタで置換とかしやすそうだし >>768
天才か
別に誰かに配布するもんでもないしこれでいくわありがとう >>772
恐らくこの方法(>>768)のほうが変更や修正があったときメンテしやすいと思うよ >>770
それって欧文括弧は役物の幅にグルーが入るのに対して
和文括弧はそもそも全角幅(黒い部分以外にほとんど白塗り)の文字で
しかもそこにさらにグルーが入るという状況になってるというフォントの問題だから
文字の白塗り部分に食い込む負の空白がさらに必要というのはなんだかなあとは思う >>771
それだと縦方向が微妙なんだよなあ
>>774
行頭では全角括弧が半角幅になるのはどういう原理でやってるんですかね
tfmいじれないとダメなんかな >>733
俺のいた研究室にもいた。学会誌でも見かけないし、あの院生どうしたんかな。 >>775
こんな感じ?(\< は \inhibitglue の省略形)
\documentclass{jarticle}
\makeatletter
\def\hoge#1{\@tempcnta=\z@\relax\@tempcntb=\z@\relax\loop\ifnum\@tempcnta<#1あいうえお\advance\@tempcnta\@ne\repeat}%
\makeatother
\begin{document}
あいうえおかきくけこさしすせそたちつてと\hoge{10}%
(あいうえお)かきくけこ(さしすせそ)たちつてと\hoge{10}%
\<(あいうえお)\<かきくけこ\<(さしすせそ)\<たちつてと\hoge{10}%
(あいうえお)\<かきくけこ\<(さしすせそ)\<たちつてと\hoge{10}%
\end{document} Wordの数式エディタが亡くなったそうだが、この時期TeXにワンチャン? Wordの数式エディタってずーーーと前から「新しいのに移行して下さい」って言われ続けてたのに
日本人お得意の因習至上な愚行によりセキュリティも糞もあったものじゃないヴァージョンのを使ってたんだよね
今回とうとう切られたけど、それもアナウンスがあったのに無視した馬鹿が騒いでるだけだよ
その程度の教養の人間が書く卒業論文なんてどうせ碌なものじゃないからTeXに移行できる訳がない
でもどうせ「黒イ画面ガ出マシター」みたいな稚拙極まる質問がわんさか寄せられて
他の本当に有意義な議論がかき消されるんだろうなぁ……頭悪い奴ってほんと害悪しか齎さねえな、しかし。 >>733
ギリシャ語だとxは無声軟口蓋摩擦音なんだ
ただ英語話者はそう発音しないというだけだ 申し訳ないがTeXの発音は徒に対立を煽るだけで何の成果も生み出さないのでNG 別にテフでもテハでもテックでもテックスでも構わんのだ
好みの問題でしかないのに何かしら尤もらしい理由を付けて押し付けてくるのをヤメロというだけなのだ dvi2tty ←これ便利だな。(少なくとも TeX Live 2017 には収録)
日本語が通らないのが難点だけど,xdviも日本語通らないしまあそんなもんだろ。 >>787
日本語が通っていた気がするけど、環境によるのかな。
dviは使わなくなったので、pdftotextの方にお世話になっている >>788
PDFからプレーンテキストにする時はpdf2txtを使ってるかな。
日本人が開発したこともあって無印JISや縦書きPDFにも対応してるし。
pdftotextってpoppler-toolsだよね? あれは縦書きとかどうなんだろう。 TeXLive 使ってるんだけど,今現在システムで有効なTeXLiveが何年のものなのか調べる方法ない?
tlmgr あたりでどうにかできそうなんだけど……。
理想としては,$ somecommand | grep 'year' みたいなことをすれば
year 2017 みたいに出力される。 >>790
こんなのはどう? 例外処理とかはやってない。
cat "$(readlink -f "$(which tex)" | sed -e 's|^/||1' | awk 'BEGIN{ FS="/"; }; { for(i=1;i<NF-2;i++){printf("/%s",$i)}; printf("\n") };')/release-texlive.txt" | grep -E 'version [[:digit:]]{4}'
別にワンライナーに拘る必要はないんだけど。 $ kpsewhich latex.ltx って打つと
/usr/local/texlive/2017/texmf-dist/tex/latex/base/latex.ltx
みたいに返ってくるけどインストール時に特殊なことをしていなければ
これ見れば2017って分かるんじゃね? >>790氏がtlmgrとgrepを使いたがってるようなので。なんでか知らんけどw
$ tlmgr --version | grep 'TeX Live.*[[:digit:]]\{4\}' TeXLive なら普通に pLaTeX などを使ってコンパイルしていたら
This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2017)
みたいな文字列もログに出てくるしわざわざ調べる必要もないような気が…
まあどうしても tlmgr と grep を使いたいのなら >>793 さんのになるのかなw >>791
>>792
>>793
ありがとうございます!
いろいろ試行錯誤した結果,
readlink -f "$(which tlmgr)" | awk -v FS="/" '{ print $(NF-4) }' -
にしました。
tlmgrを利用する理由は,(もうないと思いますが) TeX Live以外のTeXディストリビューションのtexコマンドを使っている場合も
きちんとTeX Liveとして判定できると思ったからです。
>>793さまの案が一番よかったのですが,tlmgrの起動に0.15秒ほど時間を要しちょっと遅すぎるので,
>>792さまの「パス名に年数が含まれている」というTeXLiveの特徴を利用しました。
awkを利用して不定な長さのパス名を処理するという発想は>>791さまから得ました。
お三方ともありがとうございました。 LuaTeXで,
\input amstex.tex
\input luatexja.tex
を組み合わせるとコアダンプするようになった。
もういい加減LaTeX覚えよう…… TeX Liveが巨大すぎるんで取捨選択したんだが、
正直どこを捨てればいいのか分からん。
そういうこと取り扱ってるブログとかない? >>798
とりあえず、docとsrcを全部捨てれば?(一緒にインストールしないように設定する)
それから、collection-langjapaneseを入れるところから始めて、他に必要なパッケージだけ、その都度入れればええんとちゃう? >>798
OSは何?
OSのリポジトリを使うタイプなら、TeXLiveが細かく別れていて、最小のTeXからインストールできると思うけど。
MacPortならTeXLiveが51個のPortに別れているし、Debianなら81個。
でも、日本語を処理できるようにしようとすると、一気に入れるものが増える。
さらに、使っているうちに、あれもこれもと追加で必要になって、最終的に全部入れたのと変わらなくなる。 >>789
亀レスだけど縦書きでも結構通る > pdftotest TeXLiveのinstall-tl,--helpオプションでヘルプが見れると書いてあるのに
--helpオプションを付けて実行するとソースコードが出力されるんだけど。
しかも ./install-tl -hとやっても Unknown option: hっていう警告が出る。
まあ結局ヘルプ見れたからいいけど。Windows版と違ってあんまりメンテされてないのかなぁ
$ ./install-tl --version
install-tl (TeX Live Cross Platform Installer) revision 44918
TeX Live (http://tug.org/texlive) version 2017 この間最小のTeX Live構成を聞いた人なんですけどdvipdfmxが$TEXMFROOT/bin/platform/dvipdfmxとしては存在していて且つPATHも通っているのに実行できずに困り果てました。
dvipdfm, dvipdfmxって、XeTeXが吐くXDV用のxdvipdfmxにシンボリックリンクが張られてるんですね。
やっと真面に組版できます paragraphに関連して2つ質問です。
paragraphとかが頁の末尾に来て、本文が次頁にくることがあるのですが、
見出しを次の頁に送るようなことはできませんか?
paragraphとその直後の\begin{framed}\end{framed}が前後するのですが、
これを抑制することはできませんか?
宜しくお願いいたします。 >>807
> paragraphとかが頁の末尾に来て、本文が次頁にくることがある
質問が謎なので、mweを提示してください。
特にどのクラスファイルかが分かるように提示してください。
ほとんどのクラスファイルでは、paragraphの見出しと本文は同じ行なのに、
どういうクラスファイルまたは場合に本文だけ次頁に行くのでしょうか。
> paragraphとその直後の\begin{framed}\end{framed}が前後する
これも謎 ある環境が動くと解釈すると float 環境とかに入れてんのかな?
それなら動いて当たり前だしググればなにか出てくんじゃないかな? なんで黒板太字って\Bbbなんだろ。(amssym.texで)
\bbbっていうのが定義されてる訳じゃないのに。 TeXの技術的な話じゃないんだけど
数式の上や下に波括弧を用いて説明を入れる時あるじゃない?
\overbrace{...}^{}
みたいに。
Knuth の The TeXbook では個数とかは上・合計とかは下っていう風に分けられてたけど,
規格というか標準というか勧告ってあるかしらん
$$
\overbrace{a_1+a_2+\cdots+a_k}^{k\rm\;times}
\underbrace{x+y+z}_{>\,0}
$$ \def\def{def}\def
これで出力が def て……
TeX柔軟すぎるだろLISPかよ。 physics.sty と luatexja-preset.sty とを一緒にコンパイルすると,
*************************************************
* LaTeX warning: "xparse/not-single-char"
*
* Argument delimiter '\big ' for the command '\@quantity' should be a single
* character.
*************************************************
っていう警告がでるんですけど,なんか解決策ありませんかね。
どうも日本語圏特有 (?; 少くとも欧文ではでなさそう) なので,
検索しても殆どヒットしませんでした。
ヒットしたページ (https://github.com/latex3/latex3/blob/c1fc99fa2e7cbd18c570d8f932fd7aa22f464acb/l3packages/xparse/testfiles/xparse001.tlg#L576)
も,ただのエラー処理の語句が引掛っただけのようでした。
というか私は Lua(La)TeX を使ってるのであって LaTeX 3 なんて使ってないんですけどね……。
再現した十分小さい原稿:
% ここから
\documentclass[%
lualatex, % 駆動系
a4paper, % 用紙
book, % 種類
fontsize=10pt, % 歯数
jlreq_warnings, % 警告を出力
]{jlreq}
\usepackage[sourcehan,deluxe]{luatexja-preset}
\usepackage{physics}
\begin{document}
あ,\TeX{}だ。
\end{document}
% ここまで。 そういうの TeX フォーラムに言えば?
FreeBSD のこれこれのバグならいざ知らず、折角日本語で会話できる環境なのに、利用しないのはもったいない。 LaTeX って最初の行に絶対 \documentclass がないと駄目とかそういう制約ないよね。
head した時にその原稿の要約が見れるように
% 第2回 hogehogeの組成 うんたら
% 著者: ジョン・スミス
% ……
みたいにしたいんだけど、問題ない? こういうことやってる人があんまり周囲にいないし、
(La)TeXって古いプログラムだからそういう変な制約あるかなと思って。
とりあえず簡単な原稿をpLaTeXとluaLaTeXで試してみたけど、問題なく動作した。
パッケージによっておかしなことになるとか経験あればおしえてほしい。 「euplatex」って TeX Live には収録されてねーの?
Full スキームの TeX Live 2017 で which euplatex してもみつからんのだが。 >>820
>こういうことやってる人があんまり周囲にいない
まじか。ファイルの1行目を\documentclass にする人の方が圧倒的少数派じゃないの? >>822
最近のLaTeXは自動的にe-TeX拡張を使用するようになったので、
elatex/eplatex/euplatex 系のコマンド名から e が消えている。 >>825
なるほど。euptex ってコマンドはあったから、euplatex もあるもんだと思ってた。 >>820
「周囲」ってのは研究室のお仲間のことかな?
嫌味な言い方になるけどあまり質の良い論文を輩出してない研究室っぽいね。
譬えコンピューターに精通してなくてもファイルの先頭やらにその説明を書き加えるのは常識だから。
余程の機械音痴を寄せ集めた文系の研究室でもなければ、とっとと中退したほうが有意義だよ。 >>790
たまたまここを覗いて見つけただけだから亀レスで恐縮だが,
basename $(kpsewhich --var-value TEXMFROOT)
が一番シンプルかつ素直な方法だと思う. >>830
もちろん標準のディレクトリ構成でインストールした場合に限る. >>830
あーそれ,いいんだけれど,少しばかり遅い。
>>796 の
$ readlink -f "$(which tlmgr)" | awk -v FS="/" '{ print $(NF-4) }' -
と比べてみると,
$ time for i in $(seq 1 100); do basename $(kpsewhich --var-value TEXMFROOT) > /dev/null; done
real 0m8.803s
user 0m7.996s
sys 0m0.404s
$ time for i in $(seq 1 100); do readlink -f "$(which tlmgr)" | awk -v FS="/" '{ print $(NF-4) }' - > /dev/null; done
real 0m0.441s
user 0m0.032s
sys 0m0.056s
という感じ。 20倍も差があるんだけど、OS依存で説明できるの? ちがうちがう、kpsewhich使う方法がってこと 「kpsewhich を使って TeX Live の年度を確認する方法は,
他の判別法と同様に,OS の種類や TeX Live の導入手段の如何によって不確実になる
(だから他の環境で使えると思わないほうがいい)」
ってことだろ。こんだけ噛み砕かんと分からん人間がいるのか……
世の中は広いなw LaTeXの\newenvironmentで、その中に限って使える命令などは作れますか?
例えばfooという環境の中で\fooenvcommandを使うと正常に出力されるけれども
\begin{foo}
\fooenvcommand
\end{foo}
---
[...]
\end{foo}
\fooenvcommand
foo環境の外で\fooenvcommandを使うとエラーになるというような処理をしたいんですが… fooの環境内で任意の論理変数をtureにして、
それに基づいて判定すれば?
\usepackage{etoolbox}
\newbool{hogehoge}
\AtBeginEnvironment{foo}{\booltrue{hogehoge}}
\newcommand\fooenvcommand{\ifbool{hogehoge}{aaa}{bbb}} emacsで書いて、保存して、latexmk -pvc ファイル名として、pdfを作っているの
ですが、sinctexが働かず、pdfをクリックしてもその部分のemacsの文書の部分に
移行しません。.latexmkrcは
$latex = 'platex -synctex=1 -halt-on-error';
$latex_silent = 'platex -synctex=1 -halt-on-error -interaction=batchmode';
としています(これについては問題ないはず)
pdfビューアーは、Skimを使っています。同期の設定では
emacsとしたり、カスタムとして、/usr/local/bin/emacsとしても
sinctexが動きません(動くと、pdfの文字の部分をクリックすると、
emacsの文書の該当部分にジャンプします。)
何が悪いのでしょうか?おしえていただけると幸いです \somemacro{2018-02-27} → 2018年2月27日
みたいな挙動をするマクロない?
\newcommandで作ろうかとも思ったんだけど、俺の知識では引数を置換するような処理は書けん。 >>841
全部書けと言ったけど、書かれても困るな
synctexをsinctexって書くようなお前が間違ってないかの確認
で、多分Emacsの設定ができてない
そうなったらスレ違い >>843
次のものです
File Edit Options Buffers Tools Help
#!/usr/bin/env perl
$latex = 'platex -synctex=1 -halt-on-error';
$latex_silent = 'platex -synctex=1 -halt-on-error -interaction=batchmode';
$bibtex = 'pbibtex';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$max_repeat = 5;
$pdf_mode = 3;
$pvc_view_file_via_temporary = 0;
$pdf_previewer = "open -ga /Applications/Skim.app"; Skimの同期の設定はemacsclientにしています。
それで、emacsでうつしている文章を変えて保存すると、Skimで表示
されているpdfも変わります。
ただ、pdfをクリックすると、クリックした箇所の文章のemacs上の文章の対応物
へのジャンプというsinctexはできていません >>839
\newenvironment の定義内部で \def\fooenvcommand{hoge} みたいにローカルに定義すればいいんじゃないかな? >>842
\makeatletter
\def\smcmd#1{\@smcmd#1\@nil}%
\def\@smcmd#1-#2-#3\@nil{%
\@tempcnta=#1
\the\@tempcnta 年\@tempcnta=#2
\the\@tempcnta 月\@tempcnta=#3
\the\@tempcnta 日\relax
}%
\makeatother
\smcmd{2018-02-28} ■ このスレッドは過去ログ倉庫に格納されています