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

図や表のキャプションのフォントをゴシックに

- さん ま の投稿
初めまして。
texに触れ始めてまだ日の浅い者です。
わからない点があり、初めてこちらに書き込みをさせていただきます。
texworksを利用してplatex、jarticleにて文書作成をしているのですが、図や表のキャプション部分のフォントに関して変更したく、探してみたところcaption.styを発見して利用してみました。しかし、こちらのパッケージでオプションをbfにしてみてもゴシックになっているのは図番号などを除いた部分のみで、数字は変化していないように見えます。特に1は、ひげがついていて気になります。
そこでひげがつかないようにsfをオプションに設定すると当然ですが他の部分まで変化してしまいます。
色々調べてみたつもりですがあくまでplatexで目的のものをとなると中々見つけられず、困っています。
caption部分、全てをゴシックにする方法を探しています。
詳しい方がいればご教授頂ければ幸いです。

kpsewhich TEXMF.CNF の記述について

- 和田 勇 の投稿

https://okumuralab.org/tex/mod/forum/discuss.php?d=3494#p21471 から移動します。

windows macOS ubuntu debian で texmf.cnf texmf.CNF TEXNF.cnf TEXMF.CNFを検索させてみた ところ TONE さんがおっしゃるように 小文字が無難そうですね。

  • Windows(CTAN network install )

     kpsewhich -all texmf.cnf
     c:/texlive/2022/texmf.cnf
     c:/texlive/2022/texmf-dist/web2c/texmf.cnf
    
     kpsewhich -all texmf.CNF
     c:/texlive/2022/texmf.cnf
     c:/texlive/2022/texmf-dist/web2c/texmf.cnf
    
     kpsewhich -all TEXMF.cnf
     c:/texlive/2022/texmf.cnf
     c:/texlive/2022/texmf-dist/web2c/texmf.cnf
    
     kpsewhich -all TEXMF.CNF
     c:/texlive/2022/texmf.cnf
     c:/texlive/2022/texmf-dist/web2c/texmf.cnf
    
  • macOS(CTAN network install )

    % kpsewhich -all texmf.cnf
    /usr/local/texlive/2022/texmf.cnf
    /usr/local/texlive/2022/texmf-dist/web2c/texmf.cnf
    
    % kpsewhich -all texmf.CNF
    
    % kpsewhich -all TEXMF.cnf
    /usr/local/texlive/2022/TEXMF.cnf
    
    % kpsewhich -all TEXMF.CNF
    
  • ubuntu (CTAN network install で /opt/texlive へインストール)

    % kpsewhich -a texmf.cnf
    /opt/texlive/2022/texmf.cnf
    /opt/texlive/2022/texmf-dist/web2c/texmf.cnf
    
    % kpsewhich -a texmf.CNF
    
    % kpsewhich -a TEXMF.cnf
    /opt/texlive/2022/texmf.cnf
    
    % kpsewhich -a TEXMF.CNF
    
  • debian ( apt で インストール )

    % kpsewhich -all texmf.cnf
    /etc/texmf/web2c/texmf.cnf
    /usr/share/texmf/web2c/texmf.cnf
    /usr/share/texlive/texmf-dist/web2c/texmf.cnf
    
    % kpsewhich -all texmf.CNF
    
    % kpsewhich -all TEXMF.cnf
    /etc/texmf/web2c/texmf.cnf
    
    % kpsewhich -all TEXMF.CNF
    

enumerate環境、長文文章の左揃え

- Hodaka Kojima の投稿
macにてTeX Live 2022 を使用しております。

enumerate環境を用いて番号付きの長文文章を書いているのですが、改行をした際に改行した文字が、連番数字の下にまで回り込むようにしたいのですがどのようにすればよろしいでしょうか?
下記がソースコードとなります。
====
\documentclass[dvipdfmx,titlepage,a4paper,12pt,draft]{jsreport}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{endnotes}
\usepackage{tikz}
\usepackage{secdot}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}
\item ほげほげ\\
\indent こんにちわ。こちらの文章を数字の後ろに回り込ませたいです。どのようにすればよろしいでしょうか?助言頂けますと幸いです。
\end{enumerate}

\end{document}
添付 スクリーンショット 2023-01-04 11.58.42.png

texworks で emath

- 大熊 一弘 の投稿
emath パッケージを texlive に載せる手順について
  Re: kpsewhich TEXMF.CNF の記述について
というスレッド名で扱ってきました。
それは一段落して,続きとして
  texworks で emath パッケージを含んだ文書
をタイプセットする,一法を取り上げようと思います。
メインテーマは
    -shell-escape オプションの付加
をどうやるか,ということになります。
私は texworks を使用していないので,
手探りで迷走することになるかもしれません。

まずは,質問者の texworks 環境の確認から入ります。

texworks を起動し,メニューから
  編集
   設定
    タイプセット
と辿って表示される
  TeXworksの設定
と題する小windowのスクリーンショット(png)を
zip圧縮したものを添付してください。
(スクリーンショットを採った後は,右下のキャンセルボタンで戻ります。)

TeX works に python のコードを lstlisting で挟んで貼るとコメント文が移動してしまいます

- 大塚 良太 の投稿
こんにちは。TeX works を使い始めて日が浅い学部生です。
Windows 10 にインストールした TeX Live 2021 でレポートを作成しています。
奥村先生の『LaTeX2ε 美文字作成入門』は所持しております。

python の日本語のコメント文を含むコードを,以下の記事のコードをコピペして,
\begin{lstlisting} と \end{lstlisting} とで挟んで実行すると,
エラーは起きないものの,コードが正しく表示されない(コメント文が別の場所に移動する)という現象が起きてしまいます。

https://qiita.com/ta_b0_/items/2619d5927492edbb5b03

友人の Overleaf 環境下では問題なくpdfにできるというのですが
どのようにしたら解決しますか。

大学のレポートということもあり,「.tex」ファイルをそのまま貼ることはできませんがよろしくお願い致します。
内容を省いた TeX のコマンドを貼らせて頂きます。

\documentclass[a4paper,dvipdfmx]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{tikz}
\usepackage{here}
\usetikzlibrary{intersections, calc, arrows.meta}
\usepackage{listings,jvlisting}
\title{}
\author{}
\begin{document}
\maketitle
\section{目的}

\section{方法}
\subsection{}
\subsection{}
\noindent(1) \\
(2)\\
(3)\\
(4)

\begin{figure}[H]
\centering
\begin{tikzpicture}
\end{tikzpicture}
\caption{}
\end{figure}

\section{}

\section{}

\subsection{}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\subsection{}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\begin{figure}[H]
\centering
\includegraphics[width=10cm]{}
\caption{}
\end{figure}

\section{考察}

\section{ソースコード}
\subsection{例示されたプログラム}
\begin{lstlisting}
# -*- coding: utf-8 -*-
ここにコメント文を含む python のコード

\subsection{改良したプログラム}
# -*- coding: utf-8 -*-
ここにコメント文を含む python のコード

\end{document}

後続の文字による条件分岐

- Ryuta Kudo の投稿

明けましておめでとうございます。
新年早々質問失礼します。

やりたいこと

\myabs{\vec{x}} \myabs{\vec{y}} \myabs{\vec{z}}

のように入力した際、

\lvert \vec{x} \rvert \, \lvert \vec{y} \rvert \, \lvert \vec{z} \rvert

と同等の出力になり、

\myabs{\vec{x}}y

と入力した際は

\lvert \vec{x} \rvert y

と同等の出力となるようなマクロ(コマンドと呼ぶべきかもしれません)\myabsを作成したい。

※ 言い換えれば、絶対値記号が連続(\lvertと\rvertが連続)したときのみ、その間に\,を挿入したいです。

現状

後続の文字(文字と呼んでいいのか分かりませんが)が\rvertであるかを判定し、\rvertであるときのみフラグを立てて、条件分岐により\,の挿入・非挿入を制御しようと考えましたが、そもそも「後続の文字の判定」方法が、調べ方が悪いのか、情報を見つけられず頓挫しています

質問内容から類推できるかもしれませんが、LaTeX歴は半年程度、TeX言語は勉強し始めて2か月ほどの初心者です。 私の知識量では限界を感じ、質問させていただきました。よろしくお願いします。

別行立て数式と\clubpenaltyについて

- たか ま の投稿
別行立て数式の直前に\clubpenaltyが入らないのは仕様でしょうか
\predisplaypenaltyをゼロにすると、\clubpenalty(もしくは\clubpenalties)を調整しても改ページされてしまいます

もしわかる方がいらっしゃれば、\predisplaypenaltyをゼロにしたままで、別行立て数式直前の改ページを\clubpenaltiesで制御する方法を教えていただけると助かります

よろしくお願いいたします

jsarticle のインストール方法

- m furuka の投稿
新しいPCに w32tex をインストールしましたが、過去に作成したファイルが読み込めず、次のエラーメッセージが出ました。  LaTeX Error: File 'jsarticle.cls' not found ファイルの頭に documentclass{jsarticle} としていたのを、 documentclass{jarticle} と s を削除して書き換えれば大丈夫なのですが、jsarticle のまま使いたい場合は、どのようなファイルをインストールすればよいのでしょうか?追加でインストールすべきファイルを教えていただければ幸いです。

左寄せの数式環境内で中央に寄せたい

- 向井 公志 の投稿
数式環境(例えばeqnarray環境など)で"&"を各行の最初につければ左寄せになることはわかっているんですが、一部分だけをもとのような中央寄せにしたいです。 しかしその部分だけを別にequation*環境やeqnarray*環境にしても、もとの"&"に引きずられてかうまくいきません。 もちろんeqnarray*環境内でその部分をequation*環境にしてもうまくいきませんでした。 もっといい方法があるのでしょうか……? \begin{eqnarray*} &例:&「6つの数字1,2,3,4,5,6から3つの数字を選んで一列に並べる場合の数を求めよ。」\\ &→&「6つの数字から3つの数字を選ぶ」という動作\mbox{A}と「一列に並べる」という動作\mbox{B}に分\\%文章を分けるため &&けて考える。\\ &&動作\mbox{A}の場合の数は\ _6\mbox{C}_3=20通り、動作\mbox{B}の場合の数は\ 3!=6通りなので求める場合\\ &&の数は _6\mbox{C}_3\times 3!=20\times 6=120通り\\ &&これを順列として考えると _6\mbox{P}_3=6\times 5\times 4=120通り\\ &&つまり \ _6\mbox{P}_3=\ _6\mbox{C}_3\times 3!\\ &&例えば動作\mbox{A}で(1,2,3)を選んだとすると、並べ方は\\ &&(1,2,3),\ (1,3,2),\ (2,1,3),\ (2,3,1),\ (3,1,2),\ (3,2,1)\\%ここを中央に寄せたい! &&の計3!=6通りある。 \end{eqnarray*}

パッケージにおけるマクロ定義用マクロの使い分け

- S. Ichijo の投稿

パッケージにおけるマクロ定義用マクロの使い分け

\defか、それとも\newcommandか\providecommandか\DeclareRobustCommandか、はたまた\NewDocumentCommandか\ProvideDocumentCommandか\DeclareDocumentCommandか

パッケージを書かれた経験のある方に質問です。 件名の通りなのですが、パッケージでのマクロ定義に以下のどれを使うのが適切なのかよくわからない場合があり、皆様の「使い分け方」をご教示いただきたいです。 ・ \def ・ \newcommand ・ \providecommand ・ \DeclareRobustCommand ・ \NewDocumentCommand ・ \ProvideDocumentCommand ・ \DeclareDocumentCommand など

各マクロの挙動の差異自体は概ね把握していますが、パッケージでマクロの定義をする場合の使い分け方がうまく理解できておらず、ぜひアドバイスを頂きたいです。

背景

背景としましては、研究室の後輩向けに、各種レポートや卒論、修論、博論等の論文など用のスタイルファイル(とその説明書)を作っているのですが、特に「少なくとも自分は知らないが、既存のパッケージで提供されているかもしれない」ような名前の新たなマクロを定義する際、どれを使うべきか悩んでいます。 当然、既存のパッケージで提供されていることが知られているマクロ名、例えば、\ruby のような名前であれば当然provide~系で定義すべきでしょうが… 「既存のパッケージで提供されていると聞いたことはないけど、名前がシンプルなので被る可能性も否定しきれない」というような名前の場合はどうすべきなのでしょうか。 ※例えば、\figref のような名前です。

無難にnew~系で定義して、被っていることがわかるようにするべきなのかなとも思いましたが、後輩にはLaTeX初心者が多く、エラーはなるべく出したくないのが本心です。 そこで、 ・ 被るということは、恐らく入れた他のパッケージで提供されているマクロの方を使用したいケースが多いであろうと予想し、こちらはprovide~系で定義する とも考えましたが、万が一意図せず他のパッケージを入れていた場合、「説明書にあるマクロを使ったら違う出力になった」のような問題も出てきそうです。 とはいえ、 ・ こちらが意図しない挙動を防ぐべく、\defやdeclare~系で半ば強引に定義してしまう というのもやや危険に感じてしまいます。

また、各分類のマクロ(new~系やprovide~系)のいずれかに決めたとしても、例えばprovide~系であれば ・ \providecommand と ・ \ProvideDocumentCommand のどちらを使用すべきかも迷います。当然xparseの\ProvideDocumentCommandでしかできない(ないし\ProvideDocumentCommandの方が実装が容易な)ケースなら迷わず\ProvideDocumentCommandを使用しますが、「どっちでも書ける」ような場合はどちらを使えばよいものなのでしょうか。 基本的に~DocumentCommandで統一して構わないでしょうか。

総括

私も初心者に毛が生えた程度であり、また他人が使うパッケージを書くのは初めてなため、煮詰まってしまっています。 ちょっとしたアドバイスでも十二分にありがたいので、上のような状況の場合 ・ new~系・provide~系・declare~系のどれを採用すべきか ・ 標準のマクロ定義用マクロと、xparseの~DocumentCommandの使い分け の2点について、いずれかだけでも構いませんので、是非ともご教示お願いいたします。