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

TeXの後処理の問題なのですが……

- 好事家 の投稿

win32tex 以来、長年に渉って多くの方々のサポートに支えられた pLaTeX を使って仕事をしてきた老国文学者です。奥村先生やこのフォーラムには、実に多くの情報を提供していただき、感謝に堪えません。

で、やっと TeX Live 2025 に移行しました。ヒラギノフォントにこだわっているのですが、それも問題なくコンパイルできるように設定して使っています。

ただ、後処理のことで困った事態に陥って、どうにも自分では解決できないので、質問させていただきます。色々と調べて遣ってみたのですが、煮詰まってしまいました……。

使用環境は Windows 11 Home 25H2 で、使用している TeX Live 2025 は

This is e-upTeX, Version 3.141592653-p4.1.2-u2.00-250202-2.6 (utf8.sjis) (TeX Live 2025) (preloaded format=platex 2025.3.29)  20 MAY 2025 12:55

です。問題はコンパイルした後に残る、不要なファルを削除するバッチファイルを作って重宝に使っていたのですが、それが先日来、使えなくなってしまったと云う問題です。

管理者のコマンドプロンプトで、text.tex をコンパイルすると(要らない情報は消しました)

----------------------------------------------------------------------------------------
D:\tex\test>dir
2026/02/14  00:00                32 test.aux
2026/02/14  00:00               280 test.dvi
2026/02/14  00:00                 0 test.loe
2026/02/14  00:00             6,534 test.log
2026/02/14  00:00             3,884 test.pdf
2026/02/14  00:00             1,325 test.synctex
2026/02/14  00:00             2,011 test.tex

----------------------------------------------------------------------------------------

となるのですが、

----------------------------------------------------------------------------------------

D:\tex\test>dir > dir.txt
指定されたファイルが見つかりません。


D:\tex\test>del *.aux

D:\tex\test>dir
2026/02/14  00:00                32 test.aux
2026/02/14  00:00               280 test.dvi
2026/02/14  00:00                 0 test.loe
2026/02/14  00:00             6,534 test.log
2026/02/14  00:00             3,884 test.pdf
2026/02/14  00:00             1,325 test.synctex
2026/02/14  00:00             2,011 test.tex

----------------------------------------------------------------------------------------

となり、dir や del と云うコマンドが使えなくなってしまいました。 また下記のように「ファイルが見つらない」とか、「アクセスが拒否されました」とのメッセージがでて、当然、バッチファイルもダメです。

----------------------------------------------------------------------------------------

D:\tex\test>copy test.aux foo.bar
指定されたファイルが見つかりません。
        0 個のファイルをコピーしました。

D:\tex\test>move test.aux D:\tex
アクセスが拒否されました。
        0 個のファイルを移動しました。

----------------------------------------------------------------------------------------

なお、エクスプローラやファイラーから複数のファイルを選択しての一括削除はできます。

内部コマンドでも type や date などは使えるのですが……。

さらに、ファイルの設定を見直して BATCH や user にフル権限を与えても何も変わりせん。

さらに、システムの問題かと上書きインストールしてみたのでずか、何も変かがありません。

別の端末では同じ環境でも問題なく使えているので、この端末の設定に何か問題が在ると思うのですが、万策尽きました。

まぁ、TeXを使えるので問題はないのですが、作業効率落ちるのと、何故か訳が分からないのがストレスなので、もし原因について何か御存知の方がいらっしゃれば、是非ともお教え下さい。

以上、よろしくお願い致します。

\ajTsumesuji2がenumitemのlabelに入った時壊れる

- KK TeX の投稿

件名にあるように、\ajTsumesujiを箇条書きのラベルに使用したいというのが目標です。

\ajKakkoなど、luatexja-otfの提供しているコマンドは
label=\protect\ajKakko{\arabic*}
とすれば動きます。しかし\ajKakkoは99がmaxであるので、KKsymbolsパッケージの提供する\kakkoコマンドを使用してその中に\ajTsumesujiを入れ、上限なしのラベルを作成したいと考えました。そこで

\documentclass{jlreq}
\usepackage{luatexja-otf, KKsymbols, enumitem}
\newlist{mondaiA}{enumerate}{1}
\setlist[mondaiA,1]{%
label=\kakko{\ajTsumesuji2{\arabic*}},
leftmargin=1\zw,
listparindent=1\zw,labelsep=1\zw,itemindent=1\zw,
topsep=0mm,itemsep=\baselineskip
}
\begin{document}
\ajTsumesuji2{10}
\begin{mondaiA}
\item あああ
\end{mondaiA}
\end{document}

とやってみると、

Use of \\mondaiA doesn't match its definition.
\@ifnextchar ... \reserved@d =#1\def \reserved@a {
#2}\def \reserved@b {#3}\f...
l.13 \item
あああ󿿿
/Users/majinkuu/Documents/.../test.tex:13: Argument of \@firstoftwo has an extra }.
<inserted text>
\par
l.13 \item
あああ󿿿
Runaway argument?

...

といった具合のエラーが出ました。

\ajTsumesujiを除けば動くため、原因はここで間違いないのですが、回避方法はありませんでしょうか。

ちなみに\protectをつけても、エラーは改善されませんでした。

TeXLive のインストールが終わっていないようだが使える

- 吉田 茂生 の投稿

TeX Live のインストールを開始してから5時間くらいになると思います。が、「TeX Live へようこそ!」が出てきません。しかし、TeXworks を使ってみたところ、正常に動くようです。インストールは終わったと考えてよいのでしょうか?どなたかご存じの方がおられれば教えてください。

以下で状況をより詳しく説明します。

当方は、OS としては Windows 11 Pro v21H2 を使っており、ISO イメージ texlive2025-20250308.iso を使って管理者としてインストール作業をしています。

インストーラの経過表示にエラーらしきものはなく、表示の流れをたどっていくと、コンポーネントのインストールは

Installing [4813/4813, time/total: 45:13/45:13]: zztex [147k]
Time used for installing the packages: 45:14

で終わっており、それから mktexlsr が始まり、それも

mktexlsr: Updated C:/texlive/2025/texmf-config/ls-R.
mktexlsr: Done.

で終了し、その後、

setting up ConTeXt caches: running mtxrun --generate ...done
running context --luatex --generate ...done
running mtxrun --script fonts --reload ...done
running context --luajittex --generate ...done
pre-generating all format files, be patient...
running fmtutil-sys --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --no-strict --all ...done
running path adjustment actions
finished with path adjustment actions
running package-specific postactions
ptex2pdf programs already included in tools.ini, not adding again.
default is already set as pLaTeX (ptex2pdf) in TeXworks.ini, no change.

まで行ったところで止まっております。TeXworks は使えるみたいなので、インストールは終わったのかなあとも思いつつ、「TeX Live へようこそ!」が出てこないので不安です。よろしくお願いします。

添付画像のような出力を得たいです

- むぎ もち の投稿
TeXShop, pLaTeXを使用している者です。たまたま某塾のテキストを見る機会があって,添付画像のような出力を得たいと思いました。
これまでTeXが原稿用紙のような出力が苦手であると思っていたので,このように実現されていることに驚き,自分でもそのような出力が得たいと思った次第です。
添付画像では字数が70字ですが,この字数も自分で指定できるような仕様にしたいと考えております。
よろしくお願いいたします。
添付 スクリーンショット 2022-11-27 21.50.47.png

\futurelet において \par を読み飛ばす方法

- 上山 英二 の投稿

こんにちは.最近 TeX 言語の学習をしている者です.

\futurelet の挙動を確認する練習で,以下のような「次に来るトークンが \quad であれば True を,そうでなければ False を出力する」マクロである \quadcheck を作成しました:

\def\quadcheck{\futurelet\my@nextchar\check@quad}%
\def\check@quad{%
  \ifx\my@nextchar\quad
    True%
  \else
    False%
  \fi
}
 
このマクロは \quadcheck\quad という自明な場合や,
 \quadcheck(ソースコード上での 1 回改行)\quad
等の場合には確かに True を返してくれます.しかし \quadcheck と \quad の間にソースコード上での改行を 2 回以上挟んでしまうと,\quadcheck と \quad の間に \par が自動挿入されてしまい,\futurelet によって \my@nextchar には \quad ではなく \par が代入されるため \ifx での判定が偽となり False が出力されてしまいます.
ソースコード上で見やすさの為に改行した結果意図しない出力がなされてしまうのは嫌なので,\quadcheck と \quad の間に挟まった \par を読み飛ばし,\par の一つ先のトークン(先の例の場合だと \quad)を \my@nextchar に代入できるよう上のマクロを改善したいです.

\@ifnextchar\par{…}{…} で次に来るトークンが \par であるか否かにより処理を分ける方法等も考えてみましたが,僕の浅薄な知識では中々上手くいきませんでした.

TeX Forum でこのような事をお聞きするのはとても場違いかもしれませんが,この質問に対して僕に問題解決へのヒント等をご教授してくださる方はいらっしゃらないでしょうか.

読みずらい長文となってしまい大変申し訳ございませんが,何卒よろしくお願い申し上げます.

jlreq での縦書き文章作成について

- 上山 英二 の投稿

お世話になります.上山です.

文書クラスに jlreq.cls を用いた縦書き文書の作成を行っている際に疑問に思ったことが 2 点ほどございましたので,それらを質問させていただきます.

  1. 以下のソースコードに示すように,tate オプションを指定し文書冒頭でフォントサイズの変更を施したものを LuaLaTeX+jlreq でタイプセットすると,心なしかノンブルの位置と本文の位置が若干ずれているように見えます(僕の気のせいかもしれませんが).これは仕様でしょうか.
    なお,tate オプションを解除した上でノンブルの位置を top-left にしたものをタイプセットするとこのズレは起こらないようです.
    \documentclass[tate]{jlreq}
    \NewPageStyle{mystyle}{nombre_position=top-right}
    \pagestyle{mystyle}
    \setlength{\fboxsep}{0pt}

    \begin{document}
    \noindent\fbox{\huge あああああ}
    \end{document}
     ノンブルと本文の位置(縦書きの場合)  若干ずれている?
    ノンブルと本文の位置(横書きの場合)  こちらは揃っているように見える.
  2. tate オプション指定の下で以下のソースコードに示したものを LuaLaTeX+jlreq でタイプセットすると,セクションの冒頭部分と行頭と思われる部分の間に大きな空白が空いてしまいます.
    何かこちらで特別なことをしていないのにも関わらずこのような出力が得られるため,jlreq の仕様なのではないかと考えておりますが,この空白を無くすにはどのようにすればよのでしょうか.

    なお,こちらも tate オプションを解除して横書きにするとこの空白はなくなるようです.
    行頭とセクション部分のズレ
    \documentclass[tate]{jlreq}
    \begin{document}
    \noindent 行頭行頭行頭行頭行頭
    \section{はじめに}
    \end{document}

日本語版 chemfig マニュアル

- TPKato の投稿

はじめまして。
chemfig のマニュアルを日本語に訳しました。

https://github.com/TPKato/chemfig-ja にて公開しています。

誤植、誤訳、感想等ありましたら、GitHub の Issues/Pull requests か、(このフォーラムの使い方として問題なければ) ここでご報告いただければありがたいです。

現時点では作者には連絡していませんが、少し様子をみて問題がなさそうだったら連絡をしようと思っています。

.bstファイルの入手法

- ueki ichiro の投稿

新年おめでとうございます。

Windows11をのせた富士通ノートパソコンで英文論文を作成しています。著者名のアルファベット順に並べた参考文献リストをつくるため
inf41.bibファイルを作り、美文書作成入門第8版184ページの例にならってプリアンブルを

\documentclass[12pt,fleqn,a4paper]{article}

\setlength{\textwidth}{16cm}

\setlength{\oddsidemargin}{0cm}

%\setlength{\oddsidemargin}{0.5cm}

\setlength{\evensidemargin}{0cm}

\setlength{\topmargin}{-2cm}

\setlength{\textheight}{25cm}

\usepackage{setspace}

\doublespacing

\usepackage{amsmath}

\usepackage{graphicx}

\begin{document}

\title{(anonymized manuscript)

The infinite and contradiction: The history of mathematical physics viewed from mathematical infinites.}

\maketitle

\section{Introduction}



として、末尾を

\bibliographystyle{basic}

\bibliography{inf41}

\end{document}

として、pdflatex と Bibtex で でコンパイルしたところ、下記のスクリーンショットss46左側のようなログが表示されました(生成されたログファイルを探したのですが見つかりませんでした)。

inf41.bib も添付しました。

basic.bst はTex に標準で添付されていると聞きましたが、texworks で探しても、Windowsの全ファイルを探しても見つかりませんでした。aps.bst や上の本にある jplain.bst も見つかりませんでした。Tex に標準で添付されているという.bst ファイルがダウンロードされていない場合は、ネットからダウンロードしたいのですが、その方法を教えてください。

  植木





添付 ss46.png

項目を横に並べる enumerate 環境

- 上山 英二 の投稿

(この投稿は問題が解決し次第削除させていただく予定です)

失礼いたします.

「緑の本」に記述のある autoalign 環境を参考にして,「項目の長さから列数を自動で計算し,その項目たちを列ごとに然るべき位置へ配置する」,いわゆる enumerate 環境の横並び版のようなものを自作いたしました(そのソースコードが autoenumi.sty です.使用例は autoenumi.tex に記載しております).

緑の本で触れられている autoalign 環境からの主な変更点は以下の通りです:

  • 実装を expl3 メインにしました.
  • 長い項目がある際に,その項目前の \item のオプション引数に noauto を指定することで,その項目だけ独立して 1 行にできるようにしました(\item[noauto] では改行もできるようにしてあります.逆にオプション引数で noauto を指定していない場合は実装の都合上改行できません).
  • \begin{autoenumi}[adjust] と書くことで,項目の並べ方をより見栄えするよう微調整できるようにしました(オプション引数を指定していない,もしくは adjust 以外の文字列をオプション引数に入れている場合はデフォルト通りの出力になります).しかしこの微調整のアルゴリズムに関しては「緑の本」でも触れられているため,変更点かと言われたら少し怪しいかもしれません.

そこで本題に入ります.

僕は自作したこちらの autoenumi パッケージの説明およびソースコード本体を Qiita 等の記事投稿サイトで公開しようと思っているのですが,その際に著作権等の問題は発生しないのでしょうか.

実装を見ていただければ分かると思うのですが,実装を expl3 メインにしており自前でオプション引数等も設定しているとはいえ,大枠のアルゴリズムや設計方針に関しては「緑の本」に記載されているものを概ねそのまま踏襲しており,それをこのまま記事投稿サイト等の多くの人の目に触れてしまうような場所で公開してしまうのは良くないのではないかと思い,質問に至った次第でございます.

本来このような場所で質問するような事でもないのですが,この件に関して有識者からの回答をお伺いできるのが TeX Forum しか無さそうであったため,こちらで質問させていただきました.

また,この autoenumi.sty について何か実装上の欠陥や改善点等がございましたら遠慮なくご指摘いただけますと幸いです(当方は TeX や LaTeX に関する知識が大変浅いため,どこかで誤った/欠陥のある実装をしてしまっている可能性が非常に高いです).

長文投稿大変失礼いたしました.

lineno.sty の pagewise オプションと xr.sty の併用について

- Masatoshi TSUCHIYA の投稿
査読に対する回答書を作成する場合,

ご指摘にしたがって p.5, l.10 に以下のように改訂しました。

のように記載することが良くありますが,このページ数と行番号を手動で入力することは大変です.

これを自動化するために lineno.sty と xr.sty が併用できないかと考えました.まず,論文原稿ファイル paper.tex 側では,

==== paper.tex ここから ====
\documentclass{jsarticle}
\usepackage{lineno}
\begin{document}
\linenumbers
もともとの原稿
\clearpage
査読者に対する反応部分\linelabel{response}
\end{document}
==== paper.tex ここまで ====

のように記載しておきます.これで paper.tex をタイプセットすると,paper.aux に以下のようなラベルが登録されます.

==== paper.aux 抜粋ここから ====
\newlabel{response}{{2}{2}}
==== paper.aux 抜粋ここまで ====

次に,回答書原稿ファイル answer.tex 側では,

==== answer.tex ここから ====
\documentclass{jsarticle}
\usepackage{xr}
\externaldocument{paper}
\begin{document}
査読者に対する反応は p.~\pageref{response}, l.~\ref{response} に記載されている.
\end{document}
==== answer.tex ここまで ====

というように記載します.すると,paper.aux に登録されていたラベルを参照して,

==== answer.tex 結果ここから ====
査読者に対する反応は p.2, l.2 に記載されている.
==== answer.tex 結果ここまで ====

というように処理されて,万々歳‥‥と思ったのですが.


ここからが,困っている本題です.まず,lineno.sty を上記のままで使うと,行番号がページをまたいで通し番号になってしまいます.本当なら,ページ毎に行番号をリセットして,

==== answer.tex 望ましい結果ここから ====
査読者に対する反応は p.2, l.1 に記載されている.
==== answer.tex 望ましい結果ここまで ====

と処理されてほしいわけです.なので,まず lineno.sty に pagewise オプションを加えます.

==== うまく動かない paper.tex ここから ====
\documentclass{jsarticle}
\usepackage[pagewise]{lineno}
\begin{document}
\linenumbers
もともとの原稿
\clearpage
査読者に対する反応部分\linelabel{response}
\end{document}
==== うまく動かない paper.tex ここまで ====

すると,paper.aux の内容が以下のように変化します.

==== うまく動かない paper.aux 抜粋ここから ====
\newlabel{response}{{\getpagewiselinenumber {1}}{2}}
==== うまく動かない paper.aux 抜粋ここまで ====

当然,これを answer.tex 側で読み込んでも \getpagewiselinenumber なんてマクロは定義されていないので,エラーになります.

つまり,paper.tex 側で \getpagewiselinenumber を展開しておいてから,aux ファイルに書き込むことができれば解決できそうなのですが…

該当箇所は lineno.sty の以下の部分で,

\def\WriteLineNo{%
\unvbox\@cclv
\expandafter \@LN@xnext \@LN@labellist \@@
\@LN@label \@LN@labellist
\protected@write\@auxout{}{\string\newlabel{\@LN@label}%
{{\theLineNumber}{\thepage}\@LN@ExtraLabelItems}}%
}

おそらく \theLineNumber の展開順序を変更すれば済むはず…と思いたいのですが,これがなかなかうまく行かずに困っています.

お知恵を拝借できないでしょうか.