Re: 自前の枠について

名前: .
日時: 2009-06-08 21:20:46
IPアドレス: 59.134.169.*

>>53257 とりあえず,サンプルを挙げます. \documentclass[twoside]{jarticle} \usepackage[dvips]{color} \pagestyle{headings} \makeatletter \def\SUBFRAME@hmargin{10pt}%%% 枠の中身と左右の罫線との間隔 \def\SUBFRAME@vmargin{6pt}%%% 枠の中身と上下の罫線との間隔(の下限) \def\SUBFRAME@linethicknessA{.4pt}%%% 細いほうの罫線の太さ \def\SUBFRAME@linethicknessB{3pt}%%% 太いほうの罫線の太さ \def\SUBFRAME@linecolor{}%%% 罫線への色付けのコマンド %%% 必要に応じて, %%% \def\SUBFRAME@linecolor{\color{blue}} %%% あるいは %%% \def\SUBFRAME@linecolor{\color[gray]{.5}} %%% という具合に定義. \def\SUBFRAME@minheight{20pt}%%% 枠の高さの下限(下限を設けないなら 0pt にする) \def\SUBFRAME{% \if@noskipsec \leavevmode \fi \ifhmode \unskip\par \fi \noindent \vbox\bgroup \@tempdima\linewidth \@tempdimb\SUBFRAME@hmargin\relax \advance\@tempdima-2\@tempdimb \advance\@tempdima-\SUBFRAME@linethicknessA\relax \advance\@tempdima-\SUBFRAME@linethicknessB\relax \setbox\z@\vbox\bgroup \color@begingroup \hsize\@tempdima \@setminipage \@parboxrestore} \def\endSUBFRAME{% \color@endgroup \egroup \@tempdima\SUBFRAME@minheight\relax \@tempdimb\SUBFRAME@vmargin\relax \advance\@tempdima-2\@tempdimb \advance\@tempdima-\SUBFRAME@linethicknessA\relax \advance\@tempdima-\SUBFRAME@linethicknessB\relax \@tempdimb\ht\z@ \advance\@tempdimb\dp\z@ \ifdim\@tempdima>\@tempdimb \setbox\z@\vbox to\@tempdima{\unvbox\z@ \vfil}% \fi \offinterlineskip \hbox to\linewidth{{\SUBFRAME@linecolor% \vrule \@width.5\linewidth \@height\SUBFRAME@linethicknessA \hfill \vrule \@width.1\linewidth\@height\SUBFRAME@linethicknessA}}% \hbox to\linewidth{% {\SUBFRAME@linecolor \vrule \@width\SUBFRAME@linethicknessA}% \hskip\SUBFRAME@hmargin \vbox{% \vskip\SUBFRAME@vmargin \box\z@ \vskip\SUBFRAME@vmargin}% \hfil {\SUBFRAME@linecolor \vrule \@width\SUBFRAME@linethicknessB}}% \hbox to\linewidth{{\SUBFRAME@linecolor% \vrule \@width.2\linewidth \@height\SUBFRAME@linethicknessB \hfill \vrule \@width.35\linewidth\@height\SUBFRAME@linethicknessB}}% \@minipagefalse \egroup} \makeatother \begin{document} \section{サンプル} \begin{SUBFRAME} これは,意味のないサンプルテキストです. \end{SUBFRAME} \begin{SUBFRAME} これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. \end{SUBFRAME} \bigskip \begin{center} \begin{minipage}{.6\columnwidth} \begin{SUBFRAME} これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. \end{SUBFRAME} \end{minipage}% \quad \begin{minipage}{.35\columnwidth} \begin{SUBFRAME} これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. これは,意味のないサンプルテキストです. \end{SUBFRAME} \end{minipage} \end{center} \begin{SUBFRAME} \subsection{サンプルなの}\label{subsec:sample} \end{SUBFRAME} \begin{SUBFRAME} \subsection{サンプルだってば} \end{SUBFRAME} \newpage \makeatletter %%% SUBFRAME 環境を %%% \begin{SUBFRAME} \subsection{...} \end{SUBFRAME} %%% の形でしか用いないのであれば,むしろ \subsection を再定義するほうがよい. \def\subsection{% \if@noskipsec \leavevmode \fi \par \if@nobreak \everypar{}% \else \addpenalty\@secpenalty \addvspace{1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% %%% このあたりの値は jarticle.cls での設定を借用 \fi \secdef\@subsection\@ssubsection} \def\@subsection[#1]#2{%%% \subsection にも番号付けを行う場合を想定 \refstepcounter{subsection}% \@makesubsectionhead{\thesubsection\quad}{#2}% \@afterindenttrue \@afterheading \nobreak \subsectionmark{#1}% \addcontentsline{toc}{subsection}{\protect\numberline{\thesubsection}#1}% \vskip.5\Cvs \@plus.3\Cvs} \def\@ssubsection#1{% \@makesubsectionhead{}{#1}% \nobreak \vskip.5\Cvs \@plus.3\Cvs \@afterindenttrue \@afterheading} \def\@makesubsectionhead#1#2{% \begin{SUBFRAME}\reset@font\large\bfseries \def\@tempa{#1}% \ifx\@tempa\@empty\else \@hangfrom{#1}\fi #2% \end{SUBFRAME}% \par\nobreak} \makeatother \subsection{これもサンプルなの}\label{subsec:sample2} サンプルですよ \newpage \subsection{これでもサンプルだってば} サンプルなんです \subsection{見出しを複数行にわたるくらいにとにかく長くしたサンプル} サンプルなんです \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)