次のようにすると、手動で \parindent を設定する必要もなくなります…
が、何かよからぬ副作用があるような気がして仕方がない…
\documentclass{jarticle}\relax
\usepackage{type1cm}\relax
\makeatletter
\toks@=\expandafter\expandafter\expandafter{\csname selectfont \endcsname}
\expandafter\edef\csname selectfont \endcsname{%
\the\toks@\noexpand\setparindent
}
\def\setparindent{\setlength{\parindent}{1zw}}
\makeatother
\begin{document}
いろはにほへとちりぬるをわかよたれそつねならむ
うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\fontsize{20}{25}\selectfont
いろはにほへとちりぬるをわかよたれそつねならむ
うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{document}
\parindentを使わなくても自動的に1文字分字下げする方法を考えてくださったのですね。ありがとうございます。
書かれているプログラムをファイルにコピペすればうまくいくのでしょうけれど、よく理解できていない状態ですので、いまは\fontsize{..}{..}\selectfont\parindent1zw\relaxで満足しておきたいと思います。
投稿を急いだので、お送りしたpdfには複数段落でも1回の宣言で済むことをお示ししませんでしたが、投稿後確かめました。
お書きになったプログラムがよく理解できなかったのは、
メールのなかに文字?がたくさん出現していたせいもあります。
フォーラムでお書きになったものを正確に読んで、理解に努めたいと思います。
プログラムを書くためにたくさんの時間を使われたことと思います。感謝の気持をお伝えします。
\makeatletter ..... \makeatother
の中身はほとんど理解できていないのですが、
type1cm.styを手に入れることができたので、
せっかくだからとやってみました。
結果は大成功です。
\fontsize{..}{..}\selectfont
が\largeコマンドや\Largeコマンドのように使えたらよいのに
という欲張りでわがままななつぶやきが実現してしまいました。
type1cm.styもよくわかっていないのです。
これでいいのか、という忸怩たる思いを残しながら、
おつくりくださったプログラムを使わせていただきます。
ほんとうに ありがとうございました
# 帯田 木偶太 さんご自身がきちんとご説明くださるかも知れませんのに,
# 横から余計な口出しですが…:
> \makeatletter ..... \makeatother
> の中身はほとんど理解できていないのですが、
ここは,\selectfont の定義の末尾に,“\setlength{\parindent}{1zw}” を追加しているのだと思いますよ.
あと,奥村先生が,
> jarticleじゃなくjsarticleにしていただければ,とりあえず\largeや\hugeなどの
> コマンドは期待通りに働きます。
とおっしゃってらっしゃるように,jsclasses では \@setfontsize が再定義されているので,jsclasses の \@setfontsize を使って,例えば \fontsize{15}{20} に適当な名前を付ければ,それでもうまくいくように思われます.
また,Z. R. さんによる BXjsclasses (http://zrbabbler.sp.land.to/bxjscls.html) では \set@fontsize が再定義されているため,\fontsize によるフォントサイズ変更でも \parindent の値が代入され直されるようになっていますよ.
》 とおっしゃってらっしゃるように,jsclasses では \@setfontsize が
》 再定義されているので,jsclasses の \@setfontsize を使って,
》 例えば \fontsize{15}{20} に適当な名前を付ければ,
》 それでもうまくいくように思われます.
というか、古水さんの場合、「ぴったり○○ポイントのサイズ」という
わけではなく、大体のイメージで大きなサイズを希望しておられるような
感じなので、jsarticle/jsbook クラスに、フォントサイズに関する
適当なクラス・オプションを指定するだけで足りるのかもしれません。
(匿名さんの書き込みと一部重複しますが、せっかく用意した文面なので
書き込みさせていただきます)
》 \makeatletter ..... \makeatother
》
》 の中身はほとんど理解できていないのですが、
やっていることは単純で、\selectfont によって呼び出される
「selectfont 」という名前のコマンド(名前の最後にスペース文字が
入っていることに注意)の元々の意味を \toks@ という
トークン・リスト・レジスターに一旦待避しておいて、
その末尾に \setparindent というコマンドを付け加えています。
そして、\setparindent を、\parindent に 1zw を代入する
コマンドとして定義しているのです。
ただ、「selectfont 」という名前のコマンドは、LaTeX が暗黙の
うちに頻繁に呼び出しているはずのコマンドなので、それの意味を
書き換えてしまうのは、思わぬところで不都合を生じてしまいそうな
気がしてしまうのです。
今回の古水さんの場合、
\def\fs#1#2{%
\fontsize{#1}{#2}\selectfont
\setlength{\parindent}{1zw}%
\ignorespaces
}
のように定義した \fs コマンドを使って、\fontsize{XX}{YY}\selectfont と
する代わりに \fs{XX}{YY} とするようにすれば、\selectfont を記述する必要も
なくなります。また、こちらの方が、よからぬ副作用が現れる可能性が
ずっと低くなると思います。
※ ただし、「最終出力まで自分の手で処理する文書」以外では、
このようなマクロ(先の書き込みで書いたものも)は
使っちゃいけません。
》 type1cm.styもよくわかっていないのです。
type1cm.sty は、Computer Modern 特有のフォント・サイズ代替を避けるために
入れたものです。素のままでは Computer Modern フォントは 5pt、6pt、7pt、
8pt、9pt、10pt、10.95pt、12pt、14.4pt、17.28pt、20.74pt、24.88pt の
サイズしか用意されておらず、それ以外のサイズを \fontsize コマンドで
指定すると、上記のいずれかのサイズで代替されます。タイプセットのときに
LaTeX Font Warning: Font shape `~' in size <~> not available
(Font) size <~> substituted on input line ~.
とか
LaTeX Font Warning: Size substitutions with differences
(Font) up to ~pt have occurred.
というようなウォーニングが出ていたはずです(Computer Modern 以外の
フォントであれば別ですが)。
和文字しか使わないとか、Computer Modern 以外の欧文フォントを使うとか
いうのであれば type1cm.sty は外してもかまいません。