箇条書きの空白をなくす方法

箇条書きの空白をなくす方法

- あ い の投稿
返信数: 22
質問です!

\begin{enumerate}[label=\fbox{\arabic*}]
\item あいうえお\\
かきくけこ\\
さしすせそ
\end{enumerate}

と打つと

1 あいうえお
かきくけこ
さしすせそ

のように(「四角1」が打てなかったのでただの「1」にしてありますが)なると思うのですが、このとき「かきくけこ」「さしすせそ」を一字下げしないようにする方法はありますか?
\leftline{}を毎回使うという方法しか思いつきません。。。
答えて下されば幸いです。
あ い への返信

Re: 箇条書きの空白をなくす方法

- 住田 英優 の投稿
あ い様,
私の方で個人的に試してみましたが,「かきくけこ」以降から一字下げになる現象は見受けられませんでした。
そこで1つご確認いただきたいのですが,
コマンド上で"\item" と "あいうえお"の間に全角スペースが挿入されていないでしょうか。
私が実験をした際には,"\item"の後ろに全角スペースが入っていた場合のみ「あいうえお」部分の一字下げが起こりました。
初心者の私が考えつく範囲はこれくらいですが,ご参考になれば幸いです。
住田 英優 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
住田様、回答ありがとうございます。
関係ないと思っていたのですが、実は本文の「かきく…」の内容を\begin{framed}\end{framed}で挟んでいました。
この場合、どうすれば文字全体を左に寄せることができるのでしょうか。。。
ちなみにframeboxはこちらのサイトで紹介されていたtcolorboxの一つです。
あ い への返信

Re: 箇条書きの空白をなくす方法

- 住田 英優 の投稿
あ い 様,返信が朝になってしまいました。申し訳ありません。

05:21の TONE Kozaburo 様の投稿にあるように(というかそのままのことを言いますが),Enumerate環境を使うことに拘る大きい理由がなければ,\itemのところは四角囲みをしたい様ですので,その部分を\fboxで囲み,中身をカウンターにすれば良いと思います。

初心者ながらにわかる範囲で回答をさせていただきましたが,逆にあ い様を混乱させる結果を招いていたとしたら申し訳ありません。
あ い への返信

Re: 箇条書きの空白をなくす方法

- TONE Kozaburo の投稿
そもそも enumerate 環境を使う必要はあるのでしょうか?

地の文で

\noindent\fbox{1} あいうえお\\
かきくけこ\\
さしすせそ

とすれば、お望みのものは得られるので、
後は \fbox 内の数字をカウンタにして自動で増えるようにすれば良いと思います。
TONE Kozaburo への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
あいさんへ、今回のような質問されるときは、プリアンブルも含めてサンプルソースをつけていただくと回答しやすいです。

また、テキストで表現できないときは、スクリーンショットを撮り、
そこに色付きで範囲を示し「この(左の)空白を削除したい」のように書き込んだものをアップされると良いと思います。

さて、私も TONE さんの意見に賛成ですが、
「enumitem」を利用されているという前提ですが、
「texdoc enumitem」で表示される「3.2 Horizontal spacing of labels」の p6-9 を参考に試行錯誤してみました。
その結果を添付しますので、参考にしてください。

和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
住田様、TONE様、和田様、回答してくださりありがとうございます。
訳があって返信がものすごく遅れてしまったこと、大変申し訳ないです。
皆さんのおっしゃる通りenumerateではなくfboxを使うことにしました。
しかし当初の悩みは解決しません。

\documentclass[12pt]{jsbook}
\usepackage{framed}
\begin{document}
\leftline{\fbox{1}あいうえお}
\begin{framed}
かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん

\end{framed}

\end{document}



以下を出力した際、箱の中の文字全体が左寄りになってしまうのです。

対処法をぜひ教えてください。

よろしくお願いいたします。
(和田様の添付いただいたものをコピペしてみましたが変化はありませんでした。ボックスとの相性に何か問題があるのでしょうか)
あ い への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
  • 「箱の中の文字全体が左寄り」

通常、なにもしなければ左寄せになりますが、右寄せしたいのでしょうか

私には、箱の中が通常の文章になっているので段落開始の1文字分のインデントが気になります。これが気になるのであれば、以下のように箱の最初に \noindent を入れれば解消できます。

         \begin{framed}
         
         ...

それと、やや左が空き過ぎていると感じるならあまり効果は感じられませんが、 \leftskip = -.5zw を入れてみてください。入れるところは framed の中でも外でも良いです。外に挿入すると、それ以降のものに反映・影響するので、留意しておいてください。

また、framed を利用することで項番・項目名と箱の間のスペースが気になってしまいます。

  • 和田案と frmaed は相性が悪い

左の空白が空き過ぎているというのであれば、相性は多少あるようですね。 以下のように framed 内で leftskip を調整すると良いかと思います。

        \begin{enumerate}[
           label      = \fbox{\arabic*},
           itemindent = \parindent,
           leftmargin = \parindent,
        ]
        \item あいうえお
        \begin{framed}
        
        かきくけこさしすせそたちつ
        ...
        \end{framed}

もし、和田案をというのであれば、うまく行かない時の .tex .log .pdf の三つのファイルを zip などで纏めたものを添付してください。

和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
和田様、返信ありがとうございます。
左寄せになっているのではなく、右寄せでした。推敲不足で申し訳ありません。
\leftskip = -.5zwを入れると若干左には寄りましたが、右側(自動改行時)と同じくらいのスペース間隔にすることはできないのでしょうか。
回答して頂ければ幸いです。
あ い への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
  • 左右の幅の調整は -0.5zw だけでなく 0.1 刻みなどで微調整してください。

  • でもきっと「自動番号付け」の要求は出てきそうなので、enumitem ではなく、 tcolorbox云々とあったので、それを使った方法を試行錯誤してみたので参考にしてください。処理したものを添付しておきます。

        \documentclass[12pt,dvipdfmx]{jsbook}
        
        \usepackage{tcolorbox}
        \tcbuselibrary{breakable,skins,listingsutf8} %幾つかは不要かもしれないが
        
        \newtcolorbox[auto counter]{mybox}[1]{
            enhanced,
            attach boxed title to top left,
            title=\fbox{\thetcbcounter}~ #1, % 背景色があるので fbox は不要
        }
        \begin{document}
        
        \begin{mybox}{こんな風にしたかったのかな}
          texdoc tcolorbox でマニュアル見ながら試行錯誤してみた
        \end{mybox}
        
        \begin{mybox}{TODO}
            \begin{itemize}
            \item タイトルを背景色で強調しているので fbox は不要かもしれない
            \item これでも、ボック内の左右の空白を埋めたいかもしれない
            \item 右マージンを詰めたいのかもしれない
            \item 一頁に収まらないケースはまだ未検証
            \end{itemize}
        \end{mybox}
        
        \begin{mybox}{あいうえ}
            かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん
            かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん
        \end{mybox}
        \end{document}
和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿

ちょっとお節介かもしれないけど ... 少々気になったので ...

  • >左右の幅の調整は -0.5zw だけでなく 0.1 刻みなどで微調整

    -0.25zw だといい感じのようですが ... もうちょっと調べてみました。

    framed の元になったと思われる fbox もそうですが、フレーム枠と 本文の間、つまり上下左右≒周囲に可読性対策だと思いますが、 若干の空白を設けてあります。

    この空白は、どちらも \fboxsep の値によって制御されています。

    「texdoc framed 」で表示されるマニュアル一ページ目に、 \fboxsep=\FrameSep としてるとのこと。

    なので、\FrameSep の値を変えることで、左右の空白を調整することができますが、上下の枠線との間も同様に変化します。

    ちなみに規定の \fboxsep は 3.0pt で \FrameSep は 9.0pt です。

    0pt では枠線が文字とくっついてしまい見辛いので、 私がギリギリおすすめは以下のように \fboxsep を \FrameSep に前もって代入しておくことです。

        
        \leftline{\fbox{1}あいうえお}
        \begin{framed}
        ...
        \end{framed}
   
  •  framed の代わりに fbox + minipage 環境の方法も検討してありますので、ご興味があれば、例示しますが ...

    • 利点1 ... 行幅一杯利用も可能(この場合二文字多く表示)
    • 利点2 ... framed の開始部分の空行が抑制できる
和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
zwの値は1や2変えても全く変化がないのですが。。。
framedってこのボックスのことですよね?。。。
framed: LaTeX パッケージ
あと、FrameSepの値はどのように設定できるのでしょうか??
あ い への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
  • > zwの値は1や2変えても全く変化がないのですが。。。

    うまく行かなかっったら、pdf だけでなく、拡張子 .tex と .log の も添付してください。

    .log のファイルが必要なのは、こちらで読み込んだスタイルファイルと同じか確認するためです。

  • > framedってこのボックスのこと?

    そうだと思いますが、あいさんがどのような方法でやっているか、 少なくともソースの .tex ファイルだけでも添付してください。

  • > FrameSepの値の設定

    前回赤字で \setlength{\FrameSep}{\fboxsep}  と書いたのですが ... texdoc framed でマニュアルを見ると「\setelength」を使うとのことでしたし。

和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
タイポしたままだった :-(

間違い ...「\setelength」
訂正  ...「\setlength」
和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- 北見 けん の投稿
なにかお役に立てないかと思って眺めてみましたが、
あ い さんが希望されていることと
和田さんが提案なさっていることが混在している様子で、
問題点がいまひとつ絞れませんでした。

## なのでちょっと様子見。
北見 けん への返信

Re: 箇条書きの空白をなくす方法

- 和田 勇 の投稿
複数案を提示したことが、混乱させてしまっているのではと、反省しています。

なので、只今、ソースを提供していただくようお願いしています。
和田 勇 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
大変申し訳ないのですが、色々試すうちに\itemizeが文書に存在する際に異常にframeboxの中の文字が右寄りになるということが分かりました。
本当に情報不足の質問で申し訳ありませんでした。
考えて下さった方々、本当にありがとうございました。
\itemizeと\framedとを混在させる方法をご存じの方がいらっしゃれば、参考までに教えていただきたいです(難しい作業でしたら潔くitemizeは使いませんが笑)。
あ い への返信

Re: 箇条書きの空白をなくす方法

- 北見 けん の投稿
> \itemizeと\framedとを混在させる方法をご存じの方がいらっしゃれば、参考までに教えていただきたいです(難しい作業でしたら潔くitemizeは使いませんが笑)。

おそらくお望みのことは簡単に実現できると思いますので、
お手元のソースファイルを載せていただけませんか?

(追記)
お手元のソースファイルというのは、
「\itemizeが文書に存在する際に異常にframeboxの中の文字が右寄りにな」
って困っているという状態のソースファイルです。
北見 けん への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿

北村様、回答ありがとうございます。

以下がpLaTeXで出力した問題の内容です。


\documentclass[12pt]{jsbook}

\usepackage{framed,fbox}

\begin{document}

\itemize

\item あいうえお

\item かきくけこ\\

\leftline{\fbox{1} さしすせそ}

\begin{framed}

たちつてと

\end{framed}

\end{document}

あ い への返信

Re: 箇条書きの空白をなくす方法

- 北見 けん の投稿
試してみました。
結果のPDFファイルを添付します。

お示しのソースファイルの書き方では
\itemize をどこまで有効にさせたいのかが判然としなかったのですが、
こちらで試してみた次の例のように、
framed の枠線で囲まれたものが \item の項目内にあるという理解で良いですか?
## なお、\itemize と直接 \itemize マクロを起動するのではなく、
## \begin{itemize}...\end{itemize}のように
## 環境として扱うのがLaTeXの流儀だと思います。
## \itemize という書き方を推奨している解説サイトかなにかがありましたか?

\begin{document}

\begin{itemize}
\item あいうえお
\item かきくけこ\\
\leftline{\fbox{1} さしすせそ}
\begin{framed}
かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん
\end{framed}
\item アイウエヲ
\end{itemize}

itemize環境の外
\begin{framed}
かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん
\end{framed}

\end{document}

で、itemize環境で \itemの項目内に置いたものと、
itemaize環境から出して地の文に置いたものとを見比べてみると、
\item 内にあるときに文章が右寄りになるというよりも、
\item 内にあるときでも枠線の位置は字下げされずに
左のほうに残ってしまうという現象かなと思いました。
\item の中に置いたときでも、\item から外に出して地の文として配置した場合と
枠線自体の位置は同じなのですね。
枠線の位置がこんなに左に残されてしまうと、
読者には \item の項目内のものだと認識できなさそうです。

さて、それでこれをどのようになさりたいのでしょうか?

これまでの書き込みを読んでみた限りでは、
\item の項目内にある場合でも枠線の位置はこのままにして中の文章だけを枠線の近くまで左に伸ばしたい
という希望のように読めるのですが、
中の文章の位置は今のまま変えずに枠線の位置をもっと右に移動して
中の文章に近づける方がよさそうにも思います。

とにかく、何をどうしたいのかをもう少し詳しくお願いいたします。
北見 けん への返信

Re: 箇条書きの空白をなくす方法

- 本田 知亮 の投稿
>とにかく、何をどうしたいのかをもう少し詳しくお願いいたします

激しく同意します.


framed,styのframed環境は
list系環境との共存は考えてない節がありますよね.

framed.styの中の
snugshade環境なんかはlist系環境との共存を
考慮してるように見えるコードになってますので,
framed環境(もしくはoframed環境)と
snugshade環境を組み合わせてみれば
いいのかもしれません.

snugshade環境のの定義の中の\colorbox{shadecolor}{##1}をばっさりと
\fbox{##1}に変えると,framed環境のlist系環境対応版みたいな感じになります.

同様のoframed環境の枠の定義を
snugshade環境に移植すると
似たようなものができるのではないかと思います.

ちなみに,私ならtcolorboxか,
boites(eclbkbox)をカスタマイズして使います


%--------
framed.styって,枠で囲むための仕組みと
そのサンプルを提供しているという感じのコードなので,
これをベースにいろいろ自前で頑張れということなのかもしませんね.
実際,framed環境そのものはその仕組みの下で
シンプルなものになってます.

framed.styの中のコメントを見ると
そういうふうに思えます.

>>>>>
% This is still a `pre-production' version because I can think of many
% features/improvements that should be made. Also, a detailed manual needs
% to be written. Nevertheless, starting with version 0.5 it should be bug-free.
%
% ToDo:
% Test more varieties of list
% Improve and correct documentation
% Propagation of \marks
% Handle footnotes (how??) floats (?) and marginpars.
% Stretchability modification.
% Make inner contents height/depth influence placement.
>>>>

footnotes (how??)って。。。
golden-luckyさんの論考
https://golden-lucky.hatenablog.com/entry/2019/12/24/002646
を拝見する限り
無茶なんじゃないかと思ったりもします.
本田 知亮 への返信

Re: 箇条書きの空白をなくす方法

- あ い の投稿
\itemizeではなく\begin[end]{itemize}で挟まなくてはいけなかったようです。ものすごい馬鹿なことをしていました。。。
回答してくださった方々、本当にありがとうございました。
もう少し慎重に見ていればと猛省しております。
達人たちの力を借りるまでもない問題でした。
たしかにitemizeの中にitemizeを入れるとき、先に述べたように挟んでいなかったらどこが「・」でどこが「-」か全くわからないですもんね笑
今後とも機会があればよろしくお願いいたします。
あ い への返信

Re: 箇条書きの空白をなくす方法

- 北見 けん の投稿
えーっと、ということは、
私の「12月 29日(水曜日) 15:32」の書き込みにある
「itemize環境の外に出したframed」こそがお望みのものであって、
それまでにお手元で試していたものは、
framed より前にあった itemize を閉じ忘れていたために
framed が意図せず itemize の中身として扱われてしまっていて、
それで困っていた、ということなのですか?

itemize を正しく閉じるようにしたら解決したと。

もしこれで解決したというのなら、よかったです。