縦書きでの『「』で始まる行について。

縦書きでの『「』で始まる行について。

- 池田 尚隆 の投稿
返信数: 1
texliveで縦書きの本を作成しています。
tbookで作成した場合、
『「』が始まる行が1行で完結する場合としない場合で字下げが異なっています。
jsclassesではそうならないのですがtbookで同様の挙動にする場合はどうすればよいのでしょうか。
池田 尚隆 への返信

Re: 縦書きでの『「』で始まる行について。

- 村上 TomOne の投稿
その対策をしたclsを http://p-act.sakura.ne.jp/PARALLEL_ACT/LaTeX-Dojin/
で公開してます。
抜き出すと、↓の様にしてます。

%\noindent\null の後で、行頭括弧が揃うようにする
\let\orig@null=\null
\def\null{\orig@null\futurelet\@let@token\@@tondgnewline}

%\noindent の後で、行頭括弧が揃うようにする
\let\orig@noindent=\noindent
\def\noindent{\orig@noindent\futurelet\@let@token\@@tondgnewline}

%改行の後で、行頭括弧が揃うようにする
\def\@tondgnewline{%
  \futurelet\@let@token\@@tondgnewline}
\def\@@tondgnewline{%
  \ifx\@let@token「
    \hskip.5zw\<%
  \else
    \ifx\@let@token(
      \hskip.5zw\<%
    \else
      \ifx\@let@token『
        \hskip.5zw\<%
      \else
        \ifx\@let@token[
          \hskip.5zw\<%
        \else
          \ifx\@let@token“
            \hskip.5zw\<%
          \else
            \ifx\@let@token‘
              \hskip.5zw\<%
            \else
              \ifx\@let@token〈
                \hskip.5zw\<%
              \else
                \ifx\@let@token《
                  \hskip.5zw\<%
                \else
                  \ifx\@let@token【
                    \hskip.5zw\<%
                  \else
                    \ifx\@let@token〔
                      \hskip.5zw\<%
                    \fi
                  \fi
                \fi
              \fi
            \fi
          \fi
        \fi
      \fi
    \fi
  \fi}
\def\@gnewline #1{
  \ifvmode
    \@nolnerr
  \else 
     \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
    \ignorespaces
  \fi
  \@tondgnewline}