\section{TeX の時間} %%% 第 XI 節 %%% Part.2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>773
そこらへんは \middle| の前後の ... ってとこで色々気の済むようにすればいいんじゃね? 海外の友人「ジャップはバックスラッシュに通貨記号を割り当てたようだけど、コマンド見辛くないの?」
何も言い返せんかったわ… >>777
コマンドをごりごり書くような人種はちゃんとバックスラッシュになってるフォントを使う >>777
その一方で、スラッシュとバックスラッシュを混乱しなくて済んでる。 cygwinにteTeXをインストールして、platexを使ってるけど、
\middle で
「Undefined control sequence.」
となる。
同じソースが、\middle を書かないと通ることも確認済み。 >>780 と同じバージョンの platex で、>>767 の1つ目のリンク先に書かれている
ソースで使われている \ifcaseが正しく動作するのを確認したよ。
\begin{eqnarray}は、\begin{gather*} に変えても通った。
ただし、\DeclarePairedDelimiter を使えるようにしてけど、
\DeclarePairedDelimiterX{\innset}[2]{\lbrace}{\rbrace}{%
#1\;\delimsize\vert\;#2}
の \DeclarePairedDelimiterXは、新しいバージョンのものらしく、未定義だと怒られるので
使えなかった。でも、本質的にはいけます。
------------------------------------------------------------
\newcommand{\innseta}[3]{
innseta( #1, #2, #3 );
\vsa
}
\newcommand{\innsetb}[2]{
innsetb( #1, #2 );
\vsa
}
\newcommand{\innsetc}[2]{
innsetb( #1, #2 );
\vsa
}
\newcommand{\myset}[3][2]{%
1=#1, 2=#2, 3=#3 :
\ifcase#1\relax
\innsetb{#2}{#3}\or % 0
\innseta{big}{#2}{#3}\or % 1
\innseta{Big}{#2}{#3}\or % 2
\innseta{bigg}{#2}{#3}\or % 3
\innseta{Bigg}{#2}{#3} % 4
\else
\innsetc{#2}{#3}
\fi}
\begin{eqnarray}
\myset{A}{\frac{B}{C}} \\
\myset[0]{A}{\frac{B}{C}} \\
\myset[1]{A}{\frac{B}{C}} \\
\myset[2]{A}{\frac{B}{C}} \\
\myset[3]{A}{\frac{B}{C}} \\
\myset[4]{A}{\frac{B}{C}} \\
\myset[-1]{A}{\frac{B}{C}}
\end{eqnarray} 誤: \newcommand{\myset}[3][2]{%
正: \newcommand{\myset}[3][0]{%
2つ目の[・・・]には、#1を省略した時のデフォルト値を指定する。
#1は、実引数としては、{・・・} ではなく、[・・・] で指定する。 \catcode`\|=\active
\mathcode`\|32768\let|\myvert
とすると、| と言う文字を、\myvert の「エリアス」として用いる
事が出来るようになるのかも。
複雑なので良く理解で出来てない。 \middle は e-tex 拡張で導入された新しいプリミティブだから古い環境じゃ使えないよ >>773
で引用しているサイトに最終的な答えが出ているのにいつまで同じ話してんの?
TeX を新調 & \middle の前後に「\;」または「\mathrel{}」を追加でいいじゃん >>785
teTeXで入れたplatexは、e-TeXに対応していないので、\middleが使えないみたい。
TeXLiveは、1GBくらいDLしないといけないと思うんだけど、どうやればいいんでしょう?
あと、cygwinも、WinXPだとインストーラが働かなくなってしまった。 cygwinのTeXLiveは、「sheme-basic」を選ぶと、「162MB」で済みそうなことが
分かりました。そこで、install-tl-unix.tar.gz をWindowsからダウンロードして、
cygwinから、tar で展開して、./install.tl を実行し、
Enter command:S[ret]
として、「Select scheme」で、
Enter letter to select scheme: d[ret]
として、
d [ ] basic scheme (plain and latex)
を選び、R[ret]で戻ると、
Detected platform: Cygwin on Intel x86
<B> set binary platforms: 1 out of 19
<S> set installation scheme: scheme-basic
<C> set installation collections:
2 collections out of 41, disk space required: 162 MB
<D> set directories:
TEXDIR (the main TeX directory):
/usr/local/texlive/2017
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/usr/local/texlive/2017/texmf-var
TEXMFSYSCONFIG (directory for local config):
/usr/local/texlive/2017/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
~/.texlive2017/texmf-var
TEXMFCONFIG (personal directory for local config):
~/.texlive2017/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
と表示されるので、
Enter command:I[ret]
として、
<I> start installation to hard disk
を選んだところ、85個のファイルのダウンロード後、インストールが始まり、 >>78
[続き]
・・・・
・・・・
running updmap-sys --nohash ...done
/usr/local/texlive/2017/bin/i386-cygwin/updmap: kpsewhich -var-value=TEXMFROOT failed, aborting early.
BEGIN failed--compilation aborted at /usr/local/texlive/2017/bin/i386-cygwin/updmap line 28.
./install-tl: updmap-sys --nohash failed:
re-running mktexlsr /usr/local/texlive/2017/texmf-var /usr/local/texlive/2017/texmf-config ...
pre-generating all format files, be patient...
となって、その後エラー停止。上記のudmapがシンボリックリンクだったので
D:\cygwin\usr\local\texlive\2017\texmf-dist\scripts\texlive\updmap.pl
(D:は、WinXPやcygwinのインストールされたドライブ)
の28行目を調べてみると
my $TEXMFROOT;
BEGIN {
$^W = 1;
$TEXMFROOT = `kpsewhich -var-value=TEXMFROOT`;
if ($?) {
die "$0: kpsewhich -var-value=TEXMFROOT failed, aborting early.\n";
}
chomp($TEXMFROOT);
unshift(@INC, "$TEXMFROOT/tlpkg");
}
となっていた。コマンドラインで調べてみると、kpsewhich自体は実行可能
だったが、TEXMFROOTという環境変数は存在してませんでした。
どういうことでしょう? XP とは想定外だなぁ…
D ドライブに XP & Cygwin ってことは C ドライブには他の OS がインストールされているんだと思うんだけど
そっちじゃダメなの?
それかわざわざ Cygwin 使っているんだから D ドライブはいっそのこと Linux にしてしまうとか?
それと scheme-basic だと pLaTeX とか使えないんじゃないのかな?
ttps://texwiki.texjp.org/?TeX%20Live#p06f63c2 >>790
TeXLiveの使用をあきらめる事にしました。
e-TeXも。 TeXLiveって、Japanese環境を入れようとすると、650MBくらい行かない? いまの PC 環境を基準に言えば 650MB くらいどうってことないんだよね…
あなたの環境は古すぎるしもし XP でネットに接続しているのなら危険ですよ
安い中古 PC でも買った方がいいんじゃない? スレチかもしれないのですが、他に良い場所が無さそうなのでここで質問させてください
Fall creater update後のWindows10でPowerPointのWMFをMeta file to EPS Converterで変換したEPSをLatexに貼り付けると、一部しか表示されなかったり余白が他の文字などを覆ったりなどおかしな表示になります
Windows7、8、FCU以前の10で変換したEPSなら問題無く表示出来ました
同様の症状を起こしたけど解決できた方おられませんでしょうか? >>798
テキストエディタで開いてバウンディングボックスを直せばいいよ。
eps2epsとかpurifyepsを使ってバウンディングボックスに変化がないか試すのもいい >>798
>余白が他の文字などを覆ったり
clipオプションをつける >>761 >>763 >>765
みなさんありがとうございます.長年latex使ってきたつもりですが \vrule のことを知りませんでした. >>801-802
さらに実験したところ、
\begin{align}
\left\{ xxx \, \vrule \, yyy \right\}
\end{align}
のようなコードだと、xxx, yyy の部分の中身によっては、\vrule の長さが、
左端、右端の括弧の高さより短くなってしまうことがある。
その場合、以下のようにすると良いことが判明:
\begin{align}
\left\{ {xxx} \, \vrule \, {yyy} \right\}
\end{align}
英語文献も含めて、沢山調査したが、正確な理由は不明。
これは、TeXの深い闇かも。 ちなみに、\vrule の、完全な書式は:
\vrule height a depth b width c
で、パラメータを全て省略すると、自分が入っている一番内側(=immediately enclosing) の
「horizontal box」か「line」の縦方向の長さに目いっぱいの縦棒を引く事になる。
depth, height は、それぞれ、描きたい縦棒の、ベースラインより上、下の長さを指定する。
width は、縦棒の幅。省略した時は、0.4pt になる。
(ただし、数式モードだと厳密に言うと、horizontal box とはちょっと違うのかも知れない。) 誤:depth, height は、それぞれ、描きたい縦棒の、ベースラインより上、下の長さを指定する。
正:height, depth は、それぞれ、描きたい縦棒の、ベースラインより上、下の長さを指定する。
「the immediately enclosing box or line」=「すぐ外側を包んでいる水平 box か line 」
「If height or depth is missing, it's set to the height or depth of
the immediately enclosing horizontal box or line.」 なにが「TeXの深い闇」だよw
\vrule は数学記号や文字として作られたものじゃないし勝手にいい加減な使い方をしているだけだろ…
そういう間違った使い方を勧めるのはやめろよな
それよりいまだに Windows XP を使っている方が深い闇だろ… >>799-780
eps2epsで無事に解決できたようです!
ありがとうございます! >>807
解決できて何より。
でも、そろそろepsを使うをやめてpdfにしよう。
今はpdfが基本になっているので、epsはpdfに変換されてから取るこまれる。
LaTeX原稿をコンパイルするときの計算コストがそれだけ無駄になるし、
同じ図版なのにpdfファイルの分のディスク容量も消費する。
過去のepsを流用するなら、epstopdfなどで変換できる。
PowerPointで作図するなら、そのページをpdfで保存した後に、
pdfcropで余白を切り取るのはどうだろう。
wmf経由よりもトラブルが少ないと思うけど。 >>806
そうでもない。
\vruleは、パッケージの実装において、縦棒として使われている。 なお、\vruleは、TeXの基本部分に実装されているので、パッケージ依存性がとても
少ない。
latexを入れて無くても使える。
むしろ、\mid よりも基本的といえるかもしれない。
だから、\mid が変な動作をするようなら、
\def\mid{\vrule}
としても良いくらいだ。 また「縦棒」とかいい加減な言葉を使って…
数学記号や文字としての実装じゃないからな
あくまで縦に伸びる線分としての実装ね
「\def\mid{\vrule}としても良いくらいだ」とかそこまで妄想できるって素敵だな
\midの前後の空きとか全く考えていないだろ…
もちろん\vruleを用いて適切に\midを再定義するのはいいけどその実装の仕方はないだろw
もう妄想はここじゃなくて自分の日記にでも書いてくれよ
あなたの妄想を真に受けて被害者が出たら可哀想だろ? ところでギリシャ文字はmboxで入力しちゃいかんのか? >>811
「縦棒」= Vertical Line であって、それが一番適切な言葉だと思った
のでそう書いてます。
集合の {A|B} の真ん中の | をなんというか、聞いたこと無いですし。
\mid なんて「真ん中」と言う意味で、もっと訳がわからない。
それに、\vruleの前後に空白を入れたければ、マクロ定義中に \, などを
入れれば良いだけで基本的過ぎます。その程度のレベルの人を対象にしてません。
また、\vruleは、TeX元祖の Donald Knuth氏 の TeX book の中でも
Raymond Seroul の A Beginner's book of TeX の中でも出てくる
基本的な物で、日本人は英語が読めない人が多いから一般的でないだけです。
はっきりいって、\mid の定義が不適切とも考えられるんです。
また、TeX は OSSなので完璧ではなく、まともに使うために修正する
のは問題ないはずなのです。だから、現状のままで使うのが最良と
いう考えを若い人に伝えるのは適切ではないでしょう。
OSSとはそういうものではないでしょうか。製品とは違い、中途半端な状態で
出回っているのです。完成度が低いということです。だから、個々人が改良する
のはむしろ良いことかもしれない。
現状のままでは簡便に(直感的に)は記述できないことが多いからです。 \mid は、「中間演算子」です。
中間演算子の例としては、C/C++ 言語で
if ( x > 0 || y < 0 ) { ・・・ }
のようにかくような場合の論理和「||」 や、
unsigned int a, b, c;
a = b | c;
の場合のビットOR「 | 」があります。
本来は、集合の「縦棒」とは違います。
それを、集合に使うことが流行ってしまってるだけではないでしょうか。
確かに、\mid を使う事が推奨されているような雰囲気はあります。 TeXを利用する日本人の多くは英語読めそうだが... 横からレスだが、
Wikipedia によると、set builder notation has three parts: a variable, a colon or vertical bar separator, and a logical predicate.ということで、vertical bar separatorらしいで。
なお、
ttps://en.wikipedia.org/wiki/List_of_mathematical_symbols_by_subject#Set_theory
によると、¥mid or ¥colonをと書いている。
もちろんWikipediaはオーソライズされていないのでエビデンスにはならないが。 >>813 は概ね同意だけど
>OSSとはそういうものではないでしょうか。製品とは違い、中途半端な状態で
>出回っているのです。完成度が低いということです。だから、個々人が改良する
>のはむしろ良いことかもしれない。
こういう頭の悪い発言を聞いたのは20年ぶりくらいな気がする 英語が読めるとうそぶくわりにruleは読めない変態さん
罫線を文字記号と間違えるとかすごく恥ずかしい >>818
今回はプログラマー的視点で書いてます。
内部実装としては直線が引ければなんでもいいわけなんです。
最終的な見た目が美しければ、罫線を使っても何の問題も無い。
それが駄目ならTeXのマクロプログラミングは出来なくなってしまいます。
TeXのマクロプログラミングは、はっきり言ってもっと汚いことをやってます。
ほとんど無理やりです。でもそれが TeX のパッケージ実装の実情です。
TeXは階層構造をなしており \vrule は基礎的な命令ですから、
どう使おうが誤りとは言えません。
グラフィックが書ければそれを使ってもいいんですが、TeXはグラフィックには
弱いので \vrule のようなもの使うしかない。
数学者的視点で言えば \vruleは使うべきではないかも知れませんが。 >>813
>>773 で \middle| に関して引用して \middle| の前後に空きを入れることを否定してたじゃん
それなのに \vrule の前後には空きを自分で入れればいいとかダブスタもいいとこだなおいw
>その程度のレベルの人を対象にしてません
あんたのレベルだって初心者レベルじゃん
>はっきりいって、\mid の定義が不適切とも考えられるんです
自分でこのようにした方がいいということがあるんだったらせっかく英語も嗜まれているようですからパッケージ製作者に提案でもしたらいかがですか? そもそもtexなんか数学板には板違いだろ
ここに来てる奴も殆ど数学科関係者じゃねえだろ
他の板にもtexのスレあるんだからそっち行けや
こんなくだらねえ話を数学板ですんなや >>821
\def\mid{\,\vrule\,}
とする、と言う意味だよ。マクロ定義知らないのですか? >>822
他の板のは、機能して無いっぽいからここしかないと思うけど。 >>823
>>773 であなたが引用したものは
「\middle|では前後の空きが不適切だから\;または\mathrel{}を前後につけて適切に使えばいいんじゃない?」
という内容なのに自分の都合のよい \middle の否定材料部分だけ引用している
>>773 の2.であなたは「\middle| と書くと前後の空きが不適切だから関係演算子の扱いにならない」と主張しているが
あなたの大好きな \vrule では自分で適当に前途に空きを入れろと言っているからダブスタって言ってんだよw
>\def\mid{\,\vrule\,}
それなら >>773 であなたが引用しているサイトの
\newcommand{\relmiddle}[1]{\mathrel{}\middle#1\mathrel{}}
で十分だろ texで精度の高い割り算するコマンドありますか? \divideだとあらすぎる >>827
emath の下請けマクロにいろいろあったような >>827
latexでいいなら
¥usepackage{calc} TikZ を常用しているのなら Floating Point Unit Library \usetikzlibrary{fpu} もありかもね
TikZ のマニュアルの p.627 から詳しいことが書いてあるね ありがとうございます。calcでちょっとがんばってみます calc パッケージって 3cm+2pt や 3*5pt みたいな書き方が許されるだけで計算精度って上がったっけ?
fp パッケージの方がいいかな? そこそこの精度があれば。あら過ぎなければいいです。calcでの割り算がよくわかんない orz >>836
精度は全く変わらないみたいだぞ…
\documentclass{article}
\usepackage{calc}
\begin{document}
\newlength{\AAA}\newlength{\BBB}
\setlength{\AAA}{43cm}\setlength{\BBB}{12pt}
\setlength{\AAA}{1pt*\ratio{\AAA}{\BBB}}
length = \the\AAA
\setlength{\AAA}{43cm}%
\divide\AAA by12\relax
length = \the\AAA
\end{document} fp パッケージを使いなさい
マニュアルは端末等で texdoc fp と打てば表示されるから
\documentclass{article}
\usepackage{calc,fp}
\begin{document}
\newlength{\AAA}\newlength{\BBB}
\setlength{\AAA}{43cm}\setlength{\BBB}{12pt}
\setlength{\AAA}{1pt*\ratio{\AAA}{\BBB}}
length = \the\AAA
\setlength{\AAA}{43cm/12}
length = \the\AAA
\setlength{\AAA}{43cm}
\divide\AAA by12\relax
length = \the\AAA
\setlength{\AAA}{43cm}
\makeatletter
\edef\aaa{\strip@pt\AAA}%
\makeatother
\FPdiv\ans{\aaa}{12}
\verb+\FPdiv\ans{\aaa}{12}: +\ans
\FPeval\ans{\aaa/12}
\verb+\FPeval\ans{\aaa/12}: +\ans
\FPeval\ansa{round(\ans:5)}
\verb+\FPeval\ansa{round(\ans:5)}}: +\ansa
\FPround\ansa{\ans}{5}
\verb+\PFround\ansa{\ans}{5}: +\ansa
\FPeval\ansb{trunc(\ans:5)}
\verb+\FPeval\ansb{trunc(\ans:5)}: +\ansb
\FPtrunc\ansb{\ans}{5}
\verb+\FPtrunc\ansb{\ans}{5}: +\ansb
\end{document} TeXは組版ソフトやぞ!!!
変なパッケージ導入すんのはやめろ! >>840
私を含む下々の者は必要に迫られてすでに作られたパッケージを使う判断を下すのだがそれを否定することはできないだろ?
ここで下々の者に文句を言っても何も解決しないから
パッケージ作成者に「TeXは組版ソフトだぞ!おかしなパッケージ作るな!」と言ってくりゃれ
マニュアル等に連絡先とかちゃんと書いてあるだろ…
まあ組版ソフトであることに拘り続けて数値計算や図形描画など組版以外の事に対応しないのであれば進歩がまったくないわけで
そんなことを続ければ誰もTeXに見向きしなくなるんじゃねえの? 文章作成、数値計算、図形描画などを一括して行いたいなら最初からJupyter Notebook使えば? >>842
使い物になるならTeXから引っ越ししようと調べてみたけど相互参照や目次・索引の作成はできるの?
こういう基本的なことができないなら話にもならないなぁ… >>845
TeXの代わりにはならないんじゃないかな
Jupyter Notebookは実験ノートのような位置づけなので
Jupyter NotebookをTeXのソースに変換する機能はあるけど >>846
教えてくれてありがと
まだTeXを使うしかないかなー >>824
>他の板のは、機能して無いっぽいからここしかないと思うけど。
おまえらが全員ここから消えてunix板にでも行きゃいいんだよ!
数学のスの字も知らんバカが数学という学問ブランドにたかって来んなカス >>848
LaTeX の L の字すら知らんボケが勝手なこと言ってんじゃねえよ
そんなに気に入らないなら削除依頼でも出してこいよカス 知らないのはpLaTeX2εのpだと思うんですけど \mid の否定はないの? \not \mid と書いたら思いっきりずれたけど。
手元にある本の記号は、斜め線が異様に小さいけど、そんなもんなの?
https://i.imgur.com/XL0KUmk.jpg amssymb
に
\nmid
と
\nshortmid
があるけれど、
\nmid
は見た目、斜線が短いですね >>865
¥vrule を2本引けばいいだけでは?
¥documentclass{ltjarticle}
¥usepackage{framed}
¥usepackage{enumerate}
¥newenvironment{865}{%
¥def¥FrameCommand{¥vrule width 2pt ¥hspace{1.5pt}¥vrule width .5pt ¥hspace{10pt}}%
¥MakeFramed {¥advance¥hsize-¥width ¥FrameRestore}}%
{¥endMakeFramed}
¥begin{document}
テスト
¥begin{865}
¥begin{enumerate}[(1)]
¥item もし
¥item である
¥end{enumerate}
¥end{865}
¥end{document} >>868
なるほど。ありがとうございます。
framed.styの左線を出す奴を 入れ子にして作ってみたりしていた… >>867
ネットにある簡単なサンプル眺めた方が勉強になるよ 改ページとか考えたら tcolorbox.sty で breakable にして左枠だけ表示させたほうが簡単かもね tcbで左側だけ表示するの大変そう(よく知らない) こんな感じかな?
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tcolorbox}
\usepackage{bxjalipsum}
\tcbuselibrary{breakable,skins}
\begin{document}
\newtcolorbox{exam}[1]{%
enhanced,breakable,interior hidden,title={\bfseries#1},%
before upper={\parindent=1em},%
frame hidden,coltitle=black,boxsep=0mm,bottom=0mm,after skip=1em,before skip=1em,%
borderline west={4pt}{0pt}{black},borderline west={1pt}{8pt}{black},%
}%
\jalipsum[1]{wagahai}
\begin{exam}{演習1.2.3}
\jalipsum[2-3]{wagahai}
\end{exam}
\jalipsum[4-5]{wagahai}
\end{document} tcolorbox の使いにくい所は
使いやすくするためにほぼ全ての機能を盛り込んであって使用者はオプションで好きなように調整すればいいところだよねw
上の左枠に2本線とかデフォルトの設定がほぼ不要だと
これとこれとこれはキャンセルして必要なのはこれとこれね
ってキャンセルって指示を入れなきゃいけないところが慣れないと面倒だよね >>875
empty
から始めれば、んなキャンセルなんかせんでもかまわへん。 ■ このスレッドは過去ログ倉庫に格納されています