出来ないと思いますが…2点お伺い致します

Re: 出来ないと思いますが…2点お伺い致します

- 帯田 木偶太 の投稿
返信数: 0
こんなんどうでしょう

(行送り方向の位置の揃え方がアレだけど…)


========================================================================


\documentclass{article}\relax
\makeatletter
\newenvironment*{ParTabular}[2]{%
    \makebox[0pt][l]{%
        \begin{tabular}[t]{|l|}%
            \hline
            \def\reserved@a{\makebox[#1]{}}%
            \count@=#2\relax
            \@whilenum \count@>\z@ \do{%
                \expandafter\def\expandafter\reserved@a\expandafter{%
                    \reserved@a\\\hline
                }%
                \advance\count@ by\m@ne
            }%
            \reserved@a
        \end{tabular}%
    }%
    \begin{tabular}[t]{|p{#1}|}%
        \hline
        \advance\baselineskip by\arrayrulewidth\relax
}{\end{tabular}}

%  USAGE
%      \begin{ParTabular}{DIMEN}{NUM}
%          TEXT
%      \end{ParTabular}
%      DIMEN:  テキスト部分の行長(表の幅ではない)
%      NUM:    表の行数
%      TEXT:  表中に出力するテキスト

\begin{document}
1行に収まってしまうテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

2行に亘るテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

3行に亘るテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

表の行数を4にすると

\begin{ParTabular}{25zw}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

そして4行目までテキストで埋めると

\begin{ParTabular}{25zw}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

幅を文字数でなく、外部の行長を基準に決めてみる

\begin{ParTabular}{,75\linewidth}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

表の行数を長くしてみる、ついでにテキスト中で段落をかえる\nopagebreak

\begin{ParTabular}{.75\linewidth}{12}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
   
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

テキストが長すぎると無様

\begin{ParTabular}{.75\linewidth}{8}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}
\end{document}