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

emathのyokoenumerateをlualatexで作る

- あ い の投稿
続けて質問してしまい大変心苦しいのですが,答えていただければ幸いです。

少し前に「綺麗な横向き箇条書きを作る」という旨のディスカッションが追加されたのを見て,tasksをemathのyokoenumerateのように自動調整できないかなあと思いました(lualatexだとemathが使えないので)。

流れとしては,

① \taskの効力をなくし新たに強制改行のはたらきを与える。
② task環境内の文章がアイテムごとに改行されて表示されるはずなので,その複数行の文章のうち最長のアイテムの横幅を測る。
③ 最長のアイテムの横幅によって条件分岐

を考えましたが,いくつか問題点があります。

① コマンドではなく環境にしたい
② 最大幅を測る際に\yokoenulengthmaxを定義したが,これが引数を取る形だと正常に機能しない。
(他にもあるかも)

解決策をご教示いただければ幸いです。

なお,以下のサイトを参考にしました。

https://tex.stackexchange.com/questions/593800/how-to-find-the-width-of-the-longest-line-in-multi-paragraph-text

文字コード自動判定 TeX Live 2023

- t tk の投稿
先日 TeX Live の開発版の ptexenc に入力ファイルの文字コードの自動判定機能を入れましたので紹介します。
詳細は↓で議論しています。
[ptexenc] 入力ファイルの文字コードの自動判定

入力ファイルの文字コードの自動判定機能は、土村さんが開発なさったものがあり W32TeXで採用され Windowsで利用されていました。
その実装は、nkf の文字コード自動判定を呼び出すものでした。
しかし TeX Live には導入されておらず Mac や Linux などでは利用できませんでした。
今回、自動判定ルーチン ptexenc_guess_enc() を新しく書いて TeX Live 開発版に入れました。
今後 TeX Live 2023 の配布に含まれ Mac や Linux などでも利用可能になる予定です。

使い方は、基本的に土村さん版を踏襲しています。(mendexと(u)pbibtexのコマンドラインオプションは新規)

  • kpathsearchの変数 guess_input_kanji_encoding を 1 または y または t にすると有効になる
  • (e)(u)ptex, (u)platex と mendex ではコマンドラインオプション --(no-)guess-input-enc で有効/無効が切り替わる。(kpathsearchの変数よりもこちらを優先)
  • (u)pbibtexではコマンドラインオプション -(no-)guess-input-enc で有効/無効が切り替わる。(kpathsearchの変数よりもこちらを優先)

texmf.cnf のデフォルトの設定は ptex, eptex, platex, platex-dev, pbibtex, mendex で有効としてあります。
uptex, uplatexなどUnicodeのものは入力ファイルが UTF-8 で統一されていることを想定してデフォルト無効にしてあります。

文字コードの判定は、入力ファイルごとに行われます。
文字コードの判定ルーチンは、よく知られているように 100% 完全な判定は不可能で、今回のアルゴリズムでも誤判定が出る可能性は残っています。
今回は、複数の文字コードの可能性が残る場合は file_enc を選ぶようにしました。
誤判定で不都合が生じる場合は、自動判定を無効にして、全ての入力ファイルの文字コードを統一してそれを入力ファイルの文字コードとして指定して下さい。

私見ですが、
文字コードの混在は不具合の原因になりますので、このような不安定な機能に頼ることなく、入力ファイルの文字コードを統一することを推奨します。

充分テストしたつもりですが、予期せぬ動作など、お気づきの点があればお知らせください。

language=hoge と記述すると  Xlanguage=hoge になってします

- 和田 勇 の投稿
業務連絡です。

以前「language」につづけて「=」としてこのフォーラムに投稿すると 「Xlanguage=」のように「X」が付与されて投稿されていたことがありますが、もしかしたらこのフォーラムで利用しているソフトの仕様かなと思い報告しておきます。

これは「題名」では発生していません。
「メッセージ」本文でのみ発生するようです。

「=」をつけた場合 Xlanguage=  ←X は書いていない

「=」をつけない場合 language



mendex の man ドキュメントが文字化けしている

- ワトソン の投稿
macOS Sierra + TeX Live 2016 の環境で(通常の設定の場合)

$ man mendex

をするとドキュメントの日本語部分が文字化けするようです(添付画像).
/usr/local/texlive/2016/texmf-dist/doc/man/man1 にあるソース mendex.1
のエンコーディングは UTF-8 (BOM無), LF のようでしたので環境変数 $LANG を
ja_JP.UTF-8 に設定した状態で表示を試みるなどしましたが,文字化けは
治りませんでした.さらに

$ texdoc mendex

により表示される mendex.man1.pdf の中身も同様に文字化けしており,
現状では少なくとも macOS + TeX Live の環境を使用する一般のユーザが
mendex のドキュメントを読もうと思ってもなかなか難しい状況になっています.


一応の対処法として,私の環境では

1. Homebrew で最新の groff をインストールする
2. /etc/man.conf 94行目を次のように書き換える
NROFF /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E

という手順を踏むと正しい表示となることが確認できました.ただし,以下に示す
参考文献のように JNROFF の設定のみを変更しても(これにより vim の日本語
man ページは正しく表示されましたが)本症状は改善しませんでした.
参考:http://qiita.com/yu-ichiro/items/ea9c672e2d7488416db9
添付 SS_2016-11-07_16.01.29.png

LuaLaTeX + jlreq + pxrubrica でルビ用フォント設定時の空き

- 村上 TomOne の投稿
LuaLaTeX + jlreq + pxrubrica でルビ用フォントを設定した場合、ルビの前に空きが入ります。
しかし、本文1行目を有効にした場合のように、最初にルビを使った場合には空きが入りません。
\rubyfontsetup{\rubyfamily} をコメントアウトした場合も空きは入りません。
今は最初にあえてルビを振ると誤魔化してますが、何か設定に足りない部分とかありますでしょうか?
また、
\usepackage[morisawa-pr6n,deluxe,expert,jis]{luatexja-preset}
でなく
\usepackage[uplatex,jis2004,expert,deluxe,scale=0.962216]{otf}
に切り替えて、upLaTeXでコンパイルした場合も空きは入りません。


\RequirePackage{plautopatch}

\documentclass[

tate,book,

% 括弧は段落頭二分行頭天付き, 句読点ぶら下げ有効

open_bracket_pos=nibu_tentsuki,hanging_punctuation]{jlreq}

%\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要


\usepackage{bxpapersize}


\usepackage[morisawa-pr6n,deluxe,expert,jis]{luatexja-preset}

%\usepackage{luatexja-otf}

%\usepackage[uplatex,jis2004,expert,deluxe,scale=0.962216]{otf}



% ルビ設定

\usepackage{pxrubrica}

\rubysetup{<Hf>}

\rubyfontsetup{\rubyfamily}


\begin{document}


%\jruby{愛}{あい}してるを\jruby{知}{し}りたい。


愛してるを\jruby{知}{し}りたい。



\end{document}

lstlisting環境のcaptionを中央への配置,上下位置の調整する設定について

- 小林 コウキ の投稿
lstlisting環境のcaptionを中央への配置,上下位置の調整する設定について,質問です.

・TeXのソース
\begin{lstlisting}[caption=xyzxyz]
aaaaaa
bbbbbb
cccccc
ddddd
\end{lstlisting}%


・styでの設定
\lstset{%
language={Python},
basicstyle={\small\ttfamily},%基本書体
identifierstyle={\small},%キーワードでない文字の書体
ndkeywordstyle={\small},%キーワードその2の書体
stringstyle={\small\bf\ttfamily},
frame={tb},
breaklines=true,
columns=[l]{fullflexible},%
numbers=left,%
framexleftmargin=6mm,
xrightmargin=0zw,%
xleftmargin=6mm,%
numberstyle={\scriptsize\usefont{OT1}{phv}{m}{n}},%
stepnumber=1,
numbersep=2mm,%
moredelim=[is][\bf\ttfamily]{<\#}{\#>},%%%<#,#>で囲むと書体変更
lineskip=-0.25ex,%%行間変更
morecomment=[l]{//}%
}

と指定しています.
この形でコンパイルをすると,キャプションはセンターではなく,
左から4字下ほどの位置に出力され,罫線とキャプションが重なってしまいます.

\lstset内での設定,listings.styでの設定で,キャプションの位置の調整できる箇所,もしくは設定方法を教えていただけないでしょうか.

いつも質問ばかりで恐れ入ります.
よろしくお願いいたします.

enumerateによる箇条書きを綺麗に横に並べるにはどうすればよいでしょうか?

- S. Ichijo の投稿
enumerate環境はデフォルトだと縦に並びますが、これを以下のように横に並べたいです。
(1)数式___(2)数式___(3)数式
(4)数式___(5)数式


自分なりに調べて、enumitemパッケージのインラインリストを利用してみましたが、
(1)___数式__(2)___数式__(3)___数式
のように、数式が表示される位置がおかしく、不格好になってしまいました。
また、multicolパッケージを利用して、3段組にしてみるのも試しましたが、上下の余白がおかしくなってしまいます。具体的には、箇条書きの上の余白が大きく、下の余白がやけに小さくなります。vspaceで調整しようと思いましたが、上の余白は何とかできたものの、下の余白は\vspace{0.1pt}としても逆に大きな余白が生まれてしまい、うまく調整できませんでした。

どなたかアドバイスを頂けると嬉しいです。
なお、Cloud LaTeX上で、upLaTeXで書いています。

xparse,\IfBooleanTでの\refstepcounerがうまくいかない件

- matuoka jin の投稿
platexで処理していますが、
xparseで * の有無でカウンターを処理しようとしてます。
参照が前提なので\IfBooleanTの中で\refstepcounterを用いてますが、
\refでの反映がされません。

\documentclass{article}
\usepackage{xparse}
\newcounter{CNTA}
\NewDocumentCommand\test{ s m }{%
\textbf{#2. \IfBooleanT{#1}{\refstepcounter{CNTA}\theCNTA}}%
}
\begin{document}
\test*{FOO}\label{XXX}

[\ref{XXX}]
\end{document}

なにが問題なのでしょうか。

texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について

- 小林 コウキ の投稿
texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について,質問があります.

現時点でのtexmf.cnf内のstack_sizeの数値は1500になっています.
TeX capacity exceeded, sorry [save size=5000].
というエラーが出て,ファイルが途中から作成できない状態になっています.
texmf.cnf内のstack_sizeの数値を変更すれば,最後まで頁が作成されるのですが,これだと,全体に数値変更の影響が出てしまいます.
ファイルを分ければ,最後までの頁が作成されるのですが,できれば1ファイルのままで処理をかけたいのです.


コンパイルをかけるフォルダにtexmf.cnfをいれて試してみましたが,最後まで頁が作成されないママとなっています.

個別のフォルダのみに数値を変更することは可能でしょうか.

TeXのヴァージョンは
Version 3.141592-p3.1.4 (sjis) (Web2C 7.5.3)
になります.

ご存じの方,教えていただけないでしょうか.
よろしくお願いいたします.

dvipdfmx でフォントを発見できない

- Suda M の投稿
表題の通り、dvipdfmxでフォント(HaranoAjiMincho-Regular.otf)を発見できず、PDFが生成できなくて困っております。

なるべく回答を検討いただくのに必要な情報は書いたつもりですが、不足があれば申し付けてください。

### 概要
latexmk を用いてLaTeXファイルをPDFにビルドしようとすると、以下のエラーが出て生成に失敗する。

```
dvipdfmx:warning: Could not locate a virtual/physical font for TFM "uprml-h".
dvipdfmx:warning: >> This font is mapped to a physical font "HaranoAjiMincho-Regular.otf".
dvipdfmx:warning: >> Please check if kpathsea library can find this font: HaranoAjiMincho-Regular.otf
dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...
```

このエラーを解消し、TeX Live 2022 標準のフォントである HaranoAjiMincho を使ってPDFファイルを生成したい。

### 環境

- Windows 11 Pro (22H2)
- TeX Live 2022
- ネットワークインストーラで今回質問する問題に行き詰まったため、アンインストール後ISOインストーラで再インストールし、再度同じ問題に遭遇
- ISOインストーラでのインストール直後に実行 + `tlmgr update --self --all` してから実行 したが、問題は解決せず
- Shell: PowerShell (v7.2.4)
- WSLなどは用いず、Windowsターミナルからそのまま PowerShell を用いて実行している


### 実行したコマンド
以下の内容のLaTeXファイル (example.tex) に対して

```
\documentclass{ujarticle}
\begin{document}
こんにちは!
\end{document}
```

以下のコマンドを実行。

```
$ latexmk ./example.tex
```

なお、`.latexmkrc` は `%UERPROFILE%` 直下に配置されており、以下の内容。

```
$latex = 'uplatex %O -kanji=utf8 -no-guess-input-enc -interaction=nonstopmode -file-line-error %S';
$bibtex = 'upbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex -U %O -o %D %S';
$pdf_mode = 3;
$ENV{TZ} = 'Asia/Tokyo';
$ENV{OPENTYPEFONTS} = 'c:/Windows/Fonts//:';
$ENV{TTFONTS} = 'c:/Windows/Fonts//:';
```

latexmkコマンドを実行した直後に以下のログが表示されているので、このファイルの読み込みには成功していると判断。

```
Rc files read:
C:/Users/<私のユーザ名>/.latexmkrc
```

### 試した・確認したこと
以下、`$` から始まる行は実行コマンド、 `>` から始まる行は結果出力

#### kanji-config-updmap による再設定
日本語フォントのPDFへの埋め込み設定をするコマンドがあると知ったので、現状確認と再設定のために実行した。

```
$ kanji-config-updmap-sys status
> CURRENT family for ja: haranoaji (variant: -04)
> Standby family : bizud
> Standby family : haranoaji
> Standby family : ipa
> Standby family : ipaex
> Standby family : ms
> Standby family : yu-win10
```

現在の設定が haranoaji になっており、さらにそれが Standby 状態であることが分かった。

念のため haranoaji に設定するコマンドを実行した。

```
$ kanji-config-updmap-sys haranoaji
```

ログは省略するが、エラーは出ず正常終了した。しかし表題の問題は解決しなかった。

#### Windows OS へのフォントのインストール
原の味明朝(+ゴシック)を[GitHub](https://github.com/trueroad/HaranoAjiFonts)からダウンロードし、Windows OSにインストールした。インストールは問題無く終了し、Microsoft Wordなどで使用できることを確認した。

しかし表題の問題は解決しなかった。

#### kpathsea がフォントを発見できているか確認
dvipdfmxを始めとしてLaTeXはファイル検索を kpathsea なるライブラリを介して行っていると聞いたので、下記コマンドで kpathsea が該当ファイル(HaranoAjiMincho-Regular.otf)を発見できているか確認した。

```
$ kpsewhich.exe -a HaranoAjiMincho-Regular.otf
> c:/texlive/2022/texmf-dist/fonts/opentype/public/haranoaji/HaranoAjiMincho-Regular.otf
> c:/Users/<私のユーザ名>/AppData/Local/Microsoft/Windows/Fonts/HaranoAjiMincho-Regular.otf
```

念のため示されたパスに HaranoAjiMincho-Regular.otf が存在することを確認し、たしかに配置されていた。

<hr />

以上です。何卒よろしくお願いいたします。

P.S. 本質問に直接の関係はありませんが、手元の MacOS では TeX Live 2022 インストール後、何も設定せずにPDFを生成することができました。