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

図を読み込んだTeXファイルをamsartでコンパイルしたらエラー

- sk attack の投稿
お久しぶりです。図を読み込んだTeXファイルをamsartでコンパイルしたらエラーがでて解決できないのでご相談申し上げます。

【環境】
ハードウエア: MacBook Air, Apple M2
OS: macOS 13.2.1
TeX環境: pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=latex)とTeXShopバージョン5.12

【症状】
図を読み込んだTeXファイルをコンパイルしたらエラーメッセージがでて困っています。
具体的にはdocumentclassがamsartだとエラーがでますが、ちなみにarticleでコンパイルするとエラーがでません。

%----(エラーのでるソース)------
\documentclass{amsart}
%\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[hbt]
\scalebox{0.5}{\includegraphics[clip]{tiger.eps}}
\caption{虎}
\end{figure}
\end{document}
%----(エラーのでるソースここまで)------




エラーメッセージは次のとおりです:

This is ptex2pdf[.lua] version 20200520.0.
Processing test1.tex
This is e-pTeX, Version 3.141592653-p4.0.0-220214-2.6 (utf8.euc) (TeX Live 2022) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test1.tex
pLaTeX2e <2023-02-14> (based on LaTeX2e <2022-11-01> patch level 1)
L3 programming layer <2023-02-07>
(/usr/local/texlive/2022/texmf-dist/tex/latex/amscls/amsart.cls
Document Class: amsart 2020/05/29 v2.20.6
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty))
(I search kanjifont definition file: . . ) (I search font definition file: . .
. . . . . ) (/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/amsfonts.sty))
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-def/dvips.def)))
(/usr/local/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
(./test1.aux) (/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsb.fd)

./test1.tex:8: LaTeX Error: Direction change inside float!?
Use \layoutcaption provided in \usepackage{plext}.

See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...

l.8 \end{figure}

?

以上です。アドバイス頂けるとたすかります。

tikzで立方根のグラフが描けない

- epsiron epsiron の投稿
windows10,texlive2019を利用しています。
tikzで立方根のグラフを描こうとしています。
定義域が正であれば描けますが,定義域に負の数を含めると描けなくなります。
ちなみに,二次関数は定義域に負の数を含めても描けます。
以下ソースコードです。

\documentclass[paper=b5, dvipdfmx,fleqn]{jlreq}
\usepackage{amsmath, amssymb,ascmac}
\usepackage{tikz}
\usetikzlibrary{math,intersections,calc,through,arrows.meta}
\begin{document}
\begin{tikzpicture}[scale=0.5]
\draw[->] (-5,0) -- (5,0) node[below] {$x$};
\draw[->] (0,-5) -- (0,5) node[left] {$y$};
\coordinate (O) at (0,0);
\node[below left]at(0,0){O};
\node[above]at(5,2){$y=\sqrt[3]{x}$};
\draw plot[samples=100,domain=0:2](\x,{pow(\x,1/3)});
\draw [domain=-2:2] plot (\x, {pow(\x,2)});
\end{tikzpicture}
\end{document}

\draw plot[samples=100,domain=-2:2](\x,{pow(\x,1/3)});
において,範囲を
\draw plot[samples=100,domain=0:2](\x,{pow(\x,1/3)});
に変えれば問題なく描けるのですが。

ご教示頂ければ幸いです。


platex で marginpar が通らない (2023/02/23)

- 陽二郎 若座 の投稿
platex でdtxファイルを書いていて
\DescribeMacro コマンドが使えないトラブルに遭遇しました.
2023年2月9日にTeXLiveを更新していて, 2月23日の朝まで使っていました.
その後TeXLiveを更新して, 仕事を終えたのですが,
夜になると同じファイルのコンパイルができなくなっていました.
別のdtxファイルも調べた結果, コンパイルできない理由はdtxファイル以外だと判明しました.
行を消すなどして調べたところ,
\marginparコマンドでもトラブルが出ていることが判明しました.
TeXShopのpdflatex (実体はlualatex)に変えたところ, トラブルが消えましたので,
platexの方のトラブルと考えて, エラーの同定を試みました.

添付ファイルはlualatexで正常コンパイル, platexとuplatexでコンパイル失敗となります.
エラーメッセージも採取して入れておきました.
当面の対応策とエラーの報告先を教えていただければ幸いです.

対応の仕方ですが, 日本語latexを仕事で使っていて,
質問を受けた点などをマージンにコメントして, 調べ物をして, 仕事を進めて,
マージンのコメントを消すというサイクルに助けられています.
こちらは, 全体が日本語ファイルですので, 日本語関係のパッケージによる解決も可です.
速度面の事情とルビの関係でlualatexへの移行は当面無理です.

dtxファイルの方は国際対応としたいため, 英語が多いのですが,
TeXShopのデフォールトのコンパイラーをplatexのままにしておきたいという事情があります.
それでも, dtxファイルは日本語関係のパッケージの使い方を知らない配布先に配慮したいと思います.

現状, 英語ファイルを基にして,
そのときそのとき使用する部分だけ日本語に翻訳しながら使用する作業もあります.
他の人の英語ファイルに数行を加えて, platex (uplatex)で使用する形の対応も必要です.

File cannot be found with kpathsea タイプセットさせてくれない.

- 古島 健太 の投稿
いつもお世話になっております。
TeXworksでやってます.
Windows10 .

File cannot be found with kpathsea タイプセットさせてくれないのです.
以前は無事にできていたのに.
編集設定を触ってからです.くわしくは

This is ptex2pdf[.lua] version 20200307.0.
File cannot be found with kpathsea: -l
-ot
-kanji=utf8 -synctex=1

pLaTeX(ptex2pdf)
tex文章の初めの方はは以下の通りです。

\documentclass{jsarticle}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
\newtheorem{定理}{定理}

どこが悪いのですか,教えていただけたら幸いです。







BibTeXu の日本語対応 (CJK対応)

- t tk の投稿
BibTeXu (BibTeXのUnicode対応版) を日本語対応(CJK対応)にしました。
詳細はこちらのコメントにまとめてあります。

BibTeXu は入力を UTF-8とし内部処理にICUを導入して BibTeX を Unicodeに拡張したソフトウェアです。BibTeX-x の一部であり BibTeX8 (BibTeXの8bit文字対応版)と兄弟関係にあります。今まで BibTeXu は Unicode対応していたものの日本語特有の処理が実装されておらず、jBibTeX, (u)pBibTeX で施された日本語向けの拡張の機能が入っていませんでした。
今回、(j,(u)p)BibTeXの流れを汲む日本語向け拡張仕様をBibTeXu ver4.00 に取り入れ、日本語対応といえるレベルにした次第です。
TeX Liveの開発版 (r63360まで)にコミットしたのでTeX Live 2023に正式に入る予定です。

BibTeXu (v4.00) は (u)pBibTeX とほぼ互換の日本語対応になっていますが、以下のような違いがあります。
  1. upBibTeX は入力ファイルの文字コードとしてJIS, UTF-8その他が可能だがBibTeXuはUTF-8のみ可能。
  2. jname.bstで文献のタグに現れるイニシャルが日本語の場合に長さが異なる。
  3. *.bblの改行の位置が異なる場合がある。 (*.dviの結果には違いが無い)
  4. 文字列中のU+FEFF (BOM)がupBibTeXでは削除されるが、BibTeXuでは消されないで*.bblに残る。 (*.dviの結果には違いが無い)
その他の点で違いが無く、UTF-8になっていさえすれば従来の日本語を含む *.bibや *.bst がそのまま使えます。将来BibTeXuが(u)pBibTeXの後継として広く使われるようになることを期待しております。

その他、開発の過程で ((u)p)BibTeX の方にも改良や拡張を入れました。
  1. 組み込み関数 int.to.chr$, chr.to.int$ の対象を文字集合全体に拡張。(pBibTeX, upBibTeX共通)
  2. 組み込み関数 change.case$ の対象を拡張し、Latin-1、ギリシャ文字、キリル文字を扱えるように。(upBibTeXのみ)
  3. 変数 max_print_line を kpathsearchライブラリ変数にした。これにより texmf.cnf や環境変数で *.bbl の行の折り返しまでの文字の長さを変更できるようになった。(BibTeX, pBibTeX, upBibTeX共通)
3.は、度々話題になっておりました(例えば、ここここここ)。従来ハードコートされていて変更するには再コンパイルが必要でしたが、今後便利になるのではと期待しています。

何かお気づきの点があればお知らせください。

\inputで改ページが発生しないようにしたい

- Pe Pe の投稿
分割texファイルを一つにまとめてpdf出力しているのですが、改ページが入ってしまい困っています。
元々、\includeを使用していたのですが、\includeの場合は前後が改ページされるとネットに書いてあったので\inputに変更しました。
しかし、出力結果は変わらず改ページが存在しています。
pdfの出力は、summary.texのpdf(ページ1)+空ページ(ページ2)+目次A.texのpdf(ページ3-6)+空ページ(ページ7)+B.texのpdf(ページ8-10)という感じです。
どこに原因があるのでしょうか。
よろしくお願いいたします。

A.texとB.texの中身
\chapter{chap}
\section{sec1}
\section{sec2]
\subsection{subsec2}
\begin{thebibliography}{99}
\bibitem{hoge}
hoge
\bibitem{hogehoge}
hogehoge
\end{thebibliography}

main.texの中身
\documentclass[dvipdfmx,book,10.5pt]{jlreq}
\usepackage[left=25mm,right=15mm,top=25mm,bottom=20mm]{geometry}
\usepackage[draft]{graphicx}
\usepackage{xcolor, tikz}
\usepackage{mathtools, amssymb}
\usepackage{newtxmath}
\usepackage[defaultsups]{newtxtext}
\usepackage{bm}
\usepackage{mystyle}
\usepackage{subcaption}
\usepackage{array, booktabs}
\usepackage{multirow}
\usepackage{threeparttable}
\usepackage{overcite}
\renewcommand\citeform[1]{#1)}

\begin{document}
\frontmatter
\pagenumbering{roman}
\input{summary}
\mytableofcontents
\mainmatter
\pagenumbering{arabic}
\input{chap01}
\input{chap02}
\backmatter
\end{document}

mystyle.texの中身
\makeatletter
\def\l@chapter{%
% |\@dottedtocline|の代わりに独自の命令を使う
\my@dottedtocline
{0}% 見出しのレベル(chapterは0)
{1.0\baselineskip}% 前の行とのアキ
{0pt}% 字下げ
{6\zw}% ラベル(「第1章」等)の幅
{\sffamily\gtfamily\Large}% フォント
}

% jlreqの|\@dottedtocline|を元に独自の命令を定義
\def\my@dottedtocline#1#2#3#4#5#6#7{%
\jlreq@set@top@contents{#1}%
\ifnum #1>\c@tocdepth \else
\vskip #2\relax
{\leftskip #3\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #3\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@lnumwidth #4\relax
\@tempcnta=#1\relax
\advance\@tempcnta by -\jlreq@top@contents
\@tempdima=1\jlreq@mol
\multiply \@tempdima by \@tempcnta
\advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip
\advance\leftskip\@tempdima
{#5#6}\nobreak
\leaders\hbox{$\m@th\mkern \@dotsep mu$\null\inhibitglue ・\inhibitglue\null$\m@th\mkern \@dotsep mu$}% \hfill\nobreak
\hb@xt@\@pnumwidth{\hss\normalfont\normalcolor #7}%
\par}%
\fi}
\makeatother

\renewcommand{\contentsname}{目\hspace{2\zw}次}
\newcommand{\mytableofcontents}{%
\SaveHeading{chapter}{\restorechapter}% 現在の\chapterを保存
\ModifyHeading{chapter}{align=center}% \chapter変更
\tableofcontents
\restorechapter
}

\newcommand{\red}[1]{\textcolor{red}{#1}}
\renewcommand{\thefootnote}{*\arabic{footnote}}

underbraceのブレスの太さの調整方法について

- 小林 コウキ の投稿
underbraceのブレスの太さの調整方法について質問です.

パッケージでceo.styを読み込んでいます.
underbraceのブレスが太めに出力されますが,太さを変えることは可能でしょうか.
変更方法,変更箇所を教えていただけないでしょうか

ヴァージョンは
platex(Version 3.141592-p3.1.4 (sjis) (Web2C 7.5.3))
です.

ご存じの方,教えてください.
よろしくお願いいたします.

jlreqでの窓見出し(1行)の表示について

- M. I. の投稿
初めまして。
TeX Live 2022をexeでWindows 10 22H2にインストールし使用しています。

下記文書をTeXworksのLuaLaTeXでコンパイルするとOverfullのメッセージが出て、窓見出しのある行の表示が崩れます。
\documentclass[book]{jlreq}
\NewCutinHeading{mado}{2}{}
\begin{document}
\chapter{あ}
\mado{吾輩は}
どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。
\end{document}

メッセージは下記のとおりです。
Overfull \hbox (10.0pt too wide) in paragraph at lines 5--5
|[]|
[]
Overfull \hbox (20.0pt too wide) in paragraph at lines 6--7
|\JY3/mc/m/n/10 ど
[]
Overfull \hbox (20.0pt too wide) in paragraph at lines 6--7
|\JY3/mc/m/n/10 こ
[]
[1
{c:/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./test7.aux))

手元の環境では下記のような動作を確認済みです。
(窓見出し自体の設定値はデフォルトのままですので、7字以上で2行にわたって表示されます。)
・窓見出しのテキストが1~6字では前述のとおり表示が崩れる。
・窓見出しのテキストが7字以上では正常と思われる表示になる。

原因をご教示いただけますと幸いです。
よろしくお願いいたします。

サーバ変更

- 奥村 晴彦 の投稿
サーバをこちらに変更しました。Moodleのバージョンも3.11に上げました。 まだ設定が不完全かもしれませんが、とりあえず公開します。

TeX言語における「if not」的条件分岐

- Ryuta Kudo の投稿
\newif\if@hoge

としたうえで、これが「偽」のときのみ何らかの処理を行う、つまり

\if@hoge
    (何もしない)
\else
    (何らかの処理)
    (何らかの処理)
    (何らかの処理)
    ...
\fi

のような条件分岐を行いたいのですが、これはどう記述するのが正解、もしくは安全でしょうか。

特に(何もしない)をどうすべきかが気になります。

\if@hoge\else
    (何らかの処理)
    (何らかの処理)
    (何らかの処理)
    ...
\fi

としてしまって構わないのでしょうか。それとも、より適切な記述があるのでしょうか。

※説明のため簡略化しましたが、@hogeは他の場所でも条件分岐で利用することを想定しており,\newif\if@nothogeのようにし、\if@nothoge ... \fiとする、というのは本件の意図ではありません。

是非ともご教示お願いいたします。