enumerateのカスタマイズと空白

投稿者: Anonymous

enumerate環境をカスタマイズし、以下のようなものを作りました。すると、左側に不自然な余白が生じてしまいます(画像を参照)。検索してみると、labelwidthleftmarginの値を変更する方法が見つかりましたが、改善はしませんでした。ラベルをむりやり置き換えているのがいけないのか、設定値が悪いのか、原因がわからず、修正できないでいます。なにかうまい方法はないでしょうか。

エンジンはplatex,dvipdfmxです。必要ならばパッケージを追加してもよいですが、なるべく使わず、また、inheritance環境の定義側のみの修正で実現できるのが理想です。

documentclass{article}
usepackage{showframe}
usepackage{amssymb}
usepackage{graphicx}

newenvironment{inheritance}{%
begin{enumerate}%
  % 
  labelwidth=0pt%
  leftmargin=0pt%
  %
  defmakelabel##1{##1}%defmakelabel##1{hssllap{##1}}% orignal
  deflabelenumi{hspace{value{enumi}em}%
    rotatebox[origin=c]{180}{$Lsh$}}%
}{end{enumerate}}

begin{document}
section{Class BufferedOutputStream}
The class implements a buffered output stream.
By setting up such an output stream,
an application can write bytes to the underlying output stream
without necessarily causing a call to the underlying system
for each byte written.
subsection*{Inheritance}
begin{inheritance}
  item java.lang.Object
  item java.io.OutputStream
  item java.io.FilterOutputStream
  item java.io.BufferedOutputStream
end{inheritance}
end{document}

compile result

解決

最小限のケアですが,次のもので左側の一定のスペースは無くなります:

newenvironment{inheritance}{%
leftmargini=1emrelax
begin{enumerate}%
  %
  labelwidth=1em%
  advancelabelwidthlabelsep%
  %
  defmakelabel##1{##1}%
  deflabelenumi{hspace{value{enumi}em}%
    rotatebox[origin=c]{180}{$Lsh$}}%
}{end{enumerate}}
回答者: Anonymous

Leave a Reply

Your email address will not be published.