質問用フォーラムです。ご質問の前に質問のしかたをご覧ください。

原ノ味フォントとCID番号

- TONE Kozaburo の投稿

原ノ味フォントがデフォルトで使えるようになったので、奥村先生の「改訂第7版 LaTeX2e美文書作成入門」pp.401-410に準じたCID番号の表を作ってみました。 この投稿に添付します。

幾つかグリフが抜けていますが通常の文章では問題が無いと思います。

原ノ味フォントの元になった源ノフォントに元々無いグリフなので仕方ないですね。 文句があるとか、そう言う意図は無いので、報告だと思って下さい。

数式処理のこと SageTeX や latexalpha2 とか

- Murai Tatsuru の投稿
TeX の文書中で簡単な因数分解や展開やルートの計算など
このコロナ禍の中で学生さん用のプリントを量産するのに
あれば便利で良いよなと思い色々試行錯誤しています。
LuaLaTeX をメインで利用しているので,
それなら Lua で簡易な数式処理するプログラム組めば良いやないか
と少し思って取り組んでみましたが
なかなか思うようには進みません(そりゃそうだ)

そこで色々ググっていると,
Mathematica を利用する latexalpha2 というパッケージや
Sage を利用する SageTeX というパッケージがあることに気がつきました。
Maxima を lua から利用するという記事もありましたが...
Maxima を上手くインストールできなかったので現在諦めています。

幸い Mathematica は Wolfram Engine の無償化で
自由に使えるようになっています。

そこで質問です。
LuaTeX(LuaLaTeX)から latexalpha2 を利用して Mathematica を
利用することはできるでしょうか。

他のパッケージ(スタイルファイル)でも構いません。
<< 簡単な因数分解や展開やルートの計算 >>
できれば分数も分数として扱って計算できるような
パッケージや TeX での利用法があれば教えて下さい。

( 何やら2月か3月にそれらしい学会?があったようですが
どうも中止になっているようで...
何れにせよ情報を見つけることができませんでした。)

TeXと似た文書をワープロで作成する

- kondo yuzo の投稿
jsarticle b5paper指定で作成した文書となるべく似た文書をワープロで作りたいと思っています。
ワープロで設定する

本文のフォントサイズ
脚注のフォントサイズ
余白(天地と左右)
行間の指定(1ページ何行ぐらいがいいのか)
一行の文字数

といった数値はどのぐらいが適当でしょうか?
ご教示をおねがいします。

W32TeXに収録されているnkfの改行コード自動判別機能について

- ymsk t の投稿
TeXとは関係がないと思いますが,調べてもわからず,気になっていたことなので質問させていただきます。例えば中身が

ほげ
ほげ

という内容のテキストファイルhoge.texをWindowsのメモ帳で作成し,

nkf --guess hoge.tex

とすると,

Shift_JIS (LF)

と出力されます。Windowsのメモ帳で作成したテキストファイルなので

Shift_JIS (CRLF)

と出力されることを期待しているのですが,W32TeXに収録されているnkfには改行コード自動判別ができないのでしょうか。Cygwinに収録されているnkfは改行コードも正しく判定できていたと思います。


うまくインストールできませんでした。

- 渡辺 元宗 の投稿
改定第7版Letex2 美文書作成入門を買いましたが。インストールの時にエラーが発生しました。エラーメッセージは
D:\texlive2017\tlpkg\yiperl\nin\perl.exe
ディレクトリ名が無効です。
買ったのに、インストールできなかった。1日無駄になりました。
新しいエラーが表示された。

バージョンアップについて

- oka ken の投稿
改訂第7版のLatex2e美文書作成入門を購入し、付録A.2に従って、インストールしました。Logをみると以下でした。
This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (sjis) (TeX Live 2017/W32TeX) (preloaded format=platex 2020.4.13) 18 APR 2020 11:44
entering extended mode restricted \write18 enabled.
%&-line parsing enabled.
**./JMAIN.TEX
(./JMAIN.TEX
pLaTeX2e <2017/10/28>+4 (based on LaTeX2e <2017-04-15>)
Babel <3.17> and hyphenation patterns for 84 language(s) loaded.
(c:/texlive/2017/texmf-dist/tex/platex/jsclasses/jsbook.cls
Document Class: jsbook 2017/10/04 jsclasses (okumura, texjporg)

質問は、最新版(が有るとすれば)に更新するには、どこから入手し、どのようにしたら良いのでしょうか? 知っている方が居りましたら教えてください。

うまくインストールできませんでした

- 渡辺 元宗 の投稿
改定第7版Letex2 美文書作成入門を買いましたが。インストールの時にエラーが発生しました。エラーメッセージは
dD:\texlive2017\tlpkg\yiperl\nin\perl.exe
ディレクトリ名が無効です。
買ったのに、インストールできなかった。1日無駄になりました。

enumitemパッケージにて\ajKuroMaruKakuで参照したい

- 須山 猛 の投稿
須山です。

enumitemパッケージを使い、enumerateのラベルを\ajKuroMaruKakuを使っておりますが、\refで参照する方法が分かりません。具体的には、下記のような文書なのですが、コンパイルすると下記のようなエラーが出ます。

./test.tex:18: Use of \\enumerate doesn't match its definition.
\@ifnextchar ... \reserved@d =#1\def \reserved@a {
#2}\def \reserved@b {#3}\f...
l.18 ^^I\item
テスト1\label{test1}

おそらく、下記の箇所に問題があると思うのですが、どのように修正すれば良いのか全く分かりません。

\setlist[enumerate,1]{label=\nmaru*,ref=\ajKuroMaruKaku{\arabic*}}

なお、不思議なことに、下記のようにするとコンパイルできます。

\setlist[enumerate,1]{label=\nmaru*,ref=\ajKuroMaruKakuAlph{\arabic*}}

ご教示願えると幸です。よろしくお願いします。


\documentclass[12pt, a4paper, report, uplatex, dvipdfmx, nomag]{jsbook}
\usepackage[utf8]{inputenc}
\usepackage[uplatex]{otf}

\usepackage[shortlabels]{enumitem}

\makeatletter
\def\nmaru#1{\expandafter\@nmaru\csname c@#1\endcsname}
\def\@nmaru#1{\protect\ajKuroMaruKaku{#1}}
\AddEnumerateCounter{\nmaru}{\@nmaru}{\ajKuroMaruKaku{99}}
\makeatother

\setlist[enumerate,1]{label=\nmaru*,ref=\ajKuroMaruKaku{\arabic*}}

\begin{document}

\begin{enumerate}
\item テスト1\label{test1}
\item テスト2
\end{enumerate}
第\ref{test1}項では

\end{document}


gnuplotについて

- A S の投稿
TeXで作った文書に折れ線グラフを入れようと思い、gnuplotを使い始めました。gnuplotに関する質問です。TeXと直接関係ない質問ですみません。

「data.txt」というテキストファイルをグラフ化しようと思い、
plot 'data.txt'
と打つと、
warning: Cannot find or open file "data.txt"
No data in plot
というエラーが発生してしまいます。色々なディレクトリにデータを移しても変わりませんでした。何故でしょうか?

因みにOSはMacで、gnuplotの場所を調べると「\Users\(自分のMac名)」と出てきます。

pTeX --> dvipdfmx で TeXinfo にリンクやしおりを付ける (W32TeX)

- ut の投稿

W32TeX の texinfotools-w32 に含まれている texinfo.tex (と texindex.exe) は、角藤先生が和文フォントも使えるように修正を加えてくださっているお蔭で、日本語で書かれている texi ファイルも普通に pTeX でタイプセット出来て、dvipdfmx で pdf も作れます。

でも、欧文のみの texi ファイルであれば、pdfTeX で処理すると、目次や索引からのリンクや、アウトライン (しおり) も出来ます。

本家の texinfo.tex と、XeTeX とか LuaTeX を使えば、trueroad さんの御尽力で日本語も使えるみたいなのですけれど、私の手元のシステムは古くて、また、XeTeX や LuaTeX も全然分かりません。

で、texinfo.tex の中味をパラパラと眺めてみましたら、XeTeX 用の設定が用意されているようなのですが、“@image support” という部分を別にすれば、格別 XeTeX 特有の設定というよりは、xdvipdfmx 用の special を発行するための設定のように見えます。また、「xdvipdfmx 用の special」 といっても (ちゃんと調べてはいませんが) dvipdfmx でも理解出来そうな基本的な special しか使われてないように見えます。

なので、XeTeX 用の設定が有効になるようにしつつ pTeX でタイプセットして、それを dvipdfmx で pdf にしたら、リンクやアウトラインが出来るんじゃないかな、と考えました。

適当に作った簡単な texi ファイルで試してみましたら、pTeX でも dvipdfmx でも特にエラーや警告も出ずに、リンクやしおりが付いた pdf が出来て、リンクからジャンプも出来ました (!)。しかし、自分で作ったものではない大部な texi ファイルを処理してみますと、dvipdfmx で警告が出ます。これが、XeTeX のふりをして pTeX で処理しているせいなのか、texi ファイルの書き方のせいなのかが、私には判断が出来ません。

というわけで、質問は、ざっくりしたお尋ねの仕方になってしまいますが、以下のようなやり方はまずいのでしょうか?、というものです:


(0) 前提

私の手元のシステムは W32TeX [2012/08/30] で、

  pTeX 3.1415926-p3.3 (sjis) (TeX Live 2012/W32TeX)

  This is dvipdfmx-20120420 by the DVIPDFMx project team,
  modified for TeX Live,
  an extended version of dvipdfm-0.13.2c developed by Mark A. Wicks.

です。

texinfo.tex は、2020-04-13 にダウンロードしてきた texinfotools-w32 の中のもので、

  \def\texinfoversion{2020-02-11.09}

となっています。


(1) やってみたこと

XeTeX のふりをするには、〔W32TeX 版〕 texinfo.tex 内の以下の 3 箇所に対応すればよさそうに思えました (コメントは削ってあります):


a) \message{pdf,} の部分の 1154 行あたりの;

\ifx\XeTeXrevision\thisisundefined\else
  \pdforxetextrue
\fi


b) \message{pdf,} の部分の 1562 行あたりの;

%
% For XeTeX
%
\ifx\XeTeXrevision\thisisundefined
\else
  \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1
    \special{dvipdfmx:config C 0x0010}
    \txiuseunicodedestnametrue
  \else
    \txiuseunicodedestnamefalse
  \fi


c) \message{formatting,} の部分の 11349 行あたりの;

\def\internalpagesizes#1#2#3#4#5#6#7#8{%
  \voffset = #3\relax
  \topskip = #6\relax
  \splittopskip = \topskip
  %
  \vsize = #1\relax
  \advance\vsize by \topskip
  \outervsize = \vsize
  \advance\outervsize by 2\topandbottommargin
  \txipageheight = \vsize
  %
  \hsize = #2\relax
  \outerhsize = \hsize
  \advance\outerhsize by 0.5in
  \txipagewidth = \hsize
  %
  \normaloffset = #4\relax
  \bindingoffset = #5\relax
  %
  \ifpdf
    \pdfpageheight #7\relax
    \pdfpagewidth #8\relax
    \pdfhorigin = 1 true in
    \pdfvorigin = 1 true in
  \else
    \ifx\XeTeXrevision\thisisundefined
      \special{papersize=#8,#7}%
    \else
      \pdfpageheight #7\relax
      \pdfpagewidth #8\relax
    \fi
  \fi
  %
  \setleading{\textleading}
  %
  \parindent = \defaultparindent
  \setemergencystretch
}


a) と b) については、まず \XeTeXrevision を適当に定義しておいて、あと、b) の \ifnum が false になるように適当に \def\strcmp#1#2{-2} としてみました。

c) はデフォルトの \letterpaper の展開時に実行されますが、\XeTeXrevision を定義したせいで \special{papersize=#8,#7} でなくて \else のほうになってしまうので、予め \pdfpageheight と \pdfpagewidth を宣言しておいてやり過ごして、texinfo.cnf のほうで再定義してから、紙のサイズも改めて宣言することにしました。

これらの変更点を、forDvipdfmx.tex と texinfo.cnf にまとめました。
関連ファイルを zip に固めたものを添付します。


(2) dvipdfmx からの Warning の例

a) test.texi の元ネタである latex2e.texi ($Id: latex2e.texi 782 2020-04-03 23:00:48Z karl $) を pTeX でタイプセットしてから dvipdfmx で処理しますと、

latex2e.dvi -> latex2e.pdf
[1][2][3][4][5][6][7][8][9][10][11
** WARNING ** Could not find a name object.
** WARNING ** Could not find a key in dictionary object.
** WARNING ** Could not find a value in dictionary object.
** WARNING ** Ignoring invalid dictionary.
** WARNING ** Interpreting special command out (pdf:) failed.
** WARNING ** >> at page="11" position="(72, 769.89)" (in PDF)
** WARNING ** >> xxx "pdf:out [-] 2 << /Title (Backslash-space, \ ) /A << /S /Go
To..."
** WARNING ** >> Reading special command stopped around >> << /Title (Backslash-
space, \ ) /A << /S /GoTo /D (\(SPACE)...<<
][12]......[162
** WARNING ** Unknown PDF object type.
** WARNING ** No destination not specified for pdf:dest.
** WARNING ** Interpreting special command dest (pdf:) failed.
** WARNING ** >> at page="162" position="(72, 206.93)" (in PDF)
** WARNING ** >> xxx "pdf:dest (\(SPACE)) [@thispage /XYZ @xpos @ypos null]"
** WARNING ** >> Reading special command stopped around >>) [@thispage /XYZ @xpo
s @ypos null]<<
][163]......[245]
851668 bytes written

と言われます (一部省略)(画像の挿入は pTeX 実行時にスキップしています)。


b) 以前どこからかダウンロードしてきた emacs-lisp-intro-jp.texi という古いファイルがあったので、これで試してみますと、

emacs-lisp-intro-jp.dvi -> emacs-lisp-intro-jp.pdf
[1][2][3][4][5][6][7][8][9][10
** WARNING ** Object @1 already defined.
][11
** WARNING ** Object @2 already defined.
][12
** WARNING ** Object @3 already defined.
][13
** WARNING ** Object @4 already defined.
][14
** WARNING ** Object @5 already defined.
][15
** WARNING ** Object @6 already defined.
][16]......[212
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
** WARNING ** Empty bookmark node!
** WARNING ** You have tried to jump more than 1 level.
]
887976 bytes written

と言われました (でも、リンクやしおりは付いています)。