jlreqのsectionを字下げせずに表示する方法が分かりません

jlreqのsectionを字下げせずに表示する方法が分かりません

- きた やま の投稿
返信数: 12
tex初心者ですが、jlreqとlualatexを、レジュメ作りなどに活用させてもらっています(macOS12.0.1 TeX Live 2021 )。

ご相談したいのは、jlreqで「字下げしないsection」を表示したいのですが、
それができずに困っています。

横書きで、本文を全ての段落に対してインデントしないように

%全ての段落に対してインデントしない
\setlength{\parindent}{0pt}

で設定して、sectionを以下のようにしています。

\DeclareBlockHeading{section}{2}{
font={\sffamily\bfseries\LARGE},
lines=2, before_lines=1,
align=left,
}

希望としては、本文もセクションも、どちらもインデントがなく、両者が左で揃った出力が欲しいのですが、結果としては、
sectionには、セクションのフォント1文字分のインデントが出来てしまいます。

以下のようにindent=-\zwと加えると、
\DeclareBlockHeading{section}{2}{
font={\sffamily\bfseries\LARGE},
lines=2, before_lines=1,
align=left,
indent=-\zw %加えてみた
}

セクションの字下げが「本文のフォントの大きさ分」でできたので、 セクションのフォントの大きさで「indent=-」を書いたら希望の出力が得られると思うのですが、こお「indent=-」のやり方をすると
「索引」見出しが、マージンの中に入っていってしまいました。

http://senta.s112.xrea.com/senta/Tips/000/51/を参考にして、

\makeatletter\def\section{\@startsection {section}{1}{\z@}{ -0.1ex plus 2ex minus -.2ex} {0.1ex plus .2ex}{\LARGE\bf}}

と書いてみたら、希望通りに、字下げしないセクションが得られました。
しかし、今度は、jlreqで設定していたセクションの行取り(lines=2, before_lines=1)が崩れてしまいました。

jlreqを使って、sectionを字下げせずに表示する方法は、どうしたら良いのでしょうか。
教えていただけると、非常に助かります。


きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- TONE Kozaburo の投稿
このフォーラムの過去ログや、ドキュメントを参照しました。

以下のようにすれば実現できないでしょうか?

\documentclass[dvipdfmx]{jlreq}

\ModifyHeading{section}{indent=0pt}

\pagestyle{plain}
\begin{document}
\section{なんとかかんとか}

寿限無、寿限無、
五劫の擦り切れ、
海砂利水魚の、
水行末・雲来末・風来末、
喰う寝る処に住む処、
藪ら柑子の藪柑子、
パイポ・パイポ・パイポのシューリンガン、
シューリンガンのグーリンダイ、
グーリンダイのポンポコピーのポンポコナの、
長久命の長助

\end{document}
TONE Kozaburo への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- きた やま の投稿

\ModifyHeading{section}{indent=0pt}
で実行してみましたが、
結果は変わりませんでした。

やはりセクションのタイトル行には、一文字分の字下げが発生しています。
ご教示ありがとうございます。

きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- 和田 勇 の投稿

TONE Kozaburo さんのindent=0pt だけでは有効ではなかったので きた やま さんとTONE Kozaburo さんのを合成して 以下のようにすると実現できているようです。

どちらかというと きた やま さんの「\setlength{\parindent}{0pt}」 が強力ですね。

        %! lualatex
        \documentclass{jlreq}

        \ModifyHeading{section}{
            font         = {\sffamily\bfseries\LARGE},
            lines        = 2   ,
            before_lines = 1   ,
            align        = left,
        %   indent       = 0pt , %% 以下の \parindent の効果で不要のようだ
        }
        \setlength{\parindent}{0pt}

        \pagestyle{plain}
        \def\寿限無{
            寿限無、寿限無、
            五劫の擦り切れ、
            海砂利水魚の、
            水行末・雲来末・風来末、
            喰う寝る処に住む処、
            藪ら柑子の藪柑子、
            パイポ・パイポ・パイポのシューリンガン、
            シューリンガンのグーリンダイ、
            グーリンダイのポンポコピーのポンポコナの、
            長久命の長助
        }
        \begin{document}
        \section{なんとかかんとか}

        \寿限無

        \寿限無

        \section{雪が降り始めた}

        \寿限無

        \寿限無

        \end{document}
和田 勇 への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- 本田 知亮 の投稿
jlreqのドキュメントをみるに

afterindent=[true/false]

じゃないでしょうか?

試してませんが,

\ModifyHeading{section}{afterindent=false}

でいけませんか.

本田 知亮 への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- 和田 勇 の投稿
afterindent=false を試してみました。

\setlength{\parindent}{0pt} がなければ、効果は確認できるのですが、
やはり \setlength{\parindent}{0pt} の方が強力ですね。


きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- たかぎ まき の投稿
indent=-\zwを使って本文中のセクションが望む形になったのであれば、NewBlockHeadingで本文中セクション用の新規の見出し定義を作って、その定義でindent=-\zwを設定するのはいかがでしょうか?


ただ、いただいた情報だけで以下のように組んだところ、特に問題なく行頭が左に揃っているので、ご質問中に書かれていない記載が悪さをしているようにも思われます。
添付は以下の実行結果のスクショです。


\documentclass[lualatex,
report, yoko, oneside,
onecolumn,
paper=a4,
fontsize=15Q, jafontsize=15Q,
line_length=30zw,
number_of_lines=40,
gutter=20mm,
column_gap=10mm,
head_space=13mm,
baselineskip=1.7zw,
headfoot_verticalposition=1.5zw,
hanging_punctuation]
{jlreq}

\usepackage[utf8]{inputenc}
\usepackage{bxpapersize}

\setlength{\parindent}{0pt}
\DeclareBlockHeading{section}{2}{
font={\sffamily\bfseries\LARGE},
lines=2, before_lines=1,
align=left,
}

%===================

\begin{document}
\chapter{チャプター1}
\section{セクション1}
新しい朝が来た\\
希望の朝だ
\end{document}
添付 Screenshot_2022-02-17-10-06-09-96_e2d5b3f32b79de1d45acd1fad96fbb0f.jpg
たかぎ まき への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- TONE Kozaburo の投稿
私が最初に示したソースをキャプチャーした結果を示しておきます。

あえて \parindent は 0pt にはしていませんが、\section は字下げされていないのを確認出来ると思います。

たかぎ まきさんが仰るように他の要因が関与していないでしょうか。
添付 0217sample.png
きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- 北見 けん の投稿
「セクションの字下げ」というと少し曖昧かなと思います。
セクションにかかわる字下げといってもいろいろ考えられそうです。

・節見出しだけ字下げ
・節本文の各段落冒頭を1字下げ
・同上、但し節見出し直後だけ例外扱い
・節本文全体を複数行にわたって丸ごと字下げ

それぞれ字下げ幅の設定や無効化の仕方が違うので、
どれを生かしたいか(あるいは生かしたくないか)を
はっきりさせればよいだけかなと思いました。
北見 けん への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- 北見 けん の投稿
たかぎさんが

> いただいた情報だけで以下のように組んだところ、
> 特に問題なく行頭が左に揃っているので、
> ご質問中に書かれていない記載が悪さをしているようにも思われます

と仰っているように、

\DeclareBlockHeading{section}{2}{
font={\sffamily\bfseries\LARGE},
lines=2, before_lines=1,
%align=left,% <- 「TeX を使ってみよう」 では通らず。
}
\setlength{\parindent}{0pt}

だけで希望通りになりそうに思うので、
実際にうまくいかないサンプルを出していただいくのがよさそうですね。
北見 けん への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- きた やま の投稿
いろいろとご教示いただき、まことにありがとうございました。
みなさまがご提示してくださったサンプルを実行してみると、
セクションは字下げされずに、希望通りになりました。

「ご質問中に書かれていない記載が悪さをしているようにも思われます。」と言われていたところと検討しました。セクション番号をなしにするために記載していた、以下の\renewcommand{\thesubsection}{}が悪さをしていることが分かりました。

% subsection の定義
\renewcommand{\thesubsection}{} % 節の番号はなしが基本
\DeclareBlockHeading{subsection}{2}{ % section を別行見出しに
font={\sffamily\gtfamily}, % 見出しのフォント
font={\bfseries\large}, % 見出しのフォント
lines=2, before_lines=0, % 見出しの前に1行取る
align=left
}

\renewcommand{\thesubsection}{}をプリアンブルから削除し、
\section*
を本文に使うことで、望み通りの出力を得ることができました。
いろいろご丁寧に教えていただき、
まことにありがとうございました。
きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- TONE Kozaburo の投稿
\subsection の節番号を出さないのなら secnumdepth カウンタの操作で可能です。

% pLaTeX
\documentclass[dvipdfmx]{jlreq}

\setcounter{tocdepth}{1}%% 目次では\section の表題まで出す
\setcounter{secnumdepth}{1}%% 本文では\section まで章節番号を出す

\pagestyle{plain}
\begin{document}
\tableofcontents%

\section{ほげ}

ほげほげ

\subsection{ふが}

ふがふが

\subsubsection{なんちゃら}%

なんちゃらかんちゃら

\end{document}


きた やま への返信

Re: jlreqのsectionを字下げせずに表示する方法が分かりません

- たかぎ まき の投稿
うまくできたようで何よりです。
sectionの番号を出さないようにするには(いいやり方なのかどうかちょっと分からないのですが)
\DeclareBlockHeading{section} の中でformatで指定することもできます。
前の返信で書いたものに赤字箇所を1行足しただけです。


\documentclass[lualatex,
report, yoko, oneside,
onecolumn,
paper=a4,
fontsize=15Q, jafontsize=15Q,
line_length=30zw,
number_of_lines=40,
gutter=20mm,
column_gap=10mm,
head_space=13mm,
baselineskip=1.7zw,
headfoot_verticalposition=1.5zw,
hanging_punctuation]
{jlreq}

\usepackage[utf8]{inputenc}
\usepackage{bxpapersize}

\setlength{\parindent}{0pt}
\DeclareBlockHeading{section}{2}{
font={\sffamily\bfseries\LARGE},
lines=2, before_lines=1,
align=left,
format={#2}, % 本文中の見出しのフォーマットを見出し文字列だけにする
}

%===================

\begin{document}
\chapter{チャプター1}
\section{セクション1}
新しい朝が来た\\
希望の朝だ
\end{document}