タイトルとして、と
~
?
コンパイル後に違いは見られません。
MWE:
\documentclass[a4paper]{article} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{graphicx} \usepackage[colorinlistoftodos]{todonotes} \title{Your Paper} \author{You} \date{\today} \begin{document} \maketitle I am cool. I~am~cool. \end{document}
コメント
回答
違いは最後にわかります行の。スペースは壊れやすく、~
は壊れないスペースです。
\documentclass[a4paper]{article} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{graphicx} \usepackage[colorinlistoftodos]{todonotes} \title{Your Paper} \author{You} \date{\today} \begin{document} \maketitle \hspace*{0.9\textwidth}I am cool. \hspace*{0.9\textwidth}I~am~cool. \end{document}
I
am
とは2行目で接着されています。
回答
~
はアクティブな文字です。つまり、\mbox
などのマクロと同じです。その機能は次のように記述されます。定義。
\nobreakspace{}
したがって、~
と入力することは、\nobreakspace{}
。
\nobreakspace
は何をしますか?ここにあります:
\leavevmode\nobreak\
(最後のバックスラッシュの後にスペースが続きます)。したがって、すでに段落内にある場合は、段落が開始されるか、何も実行されません(\leavevmode
);次に、\nobreak
が発行され、そのポイント(\nobreak
)での改行が禁止され、通常の単語間スペースが挿入されます。
したがって入力するとき
no~break
2つの単語の間にスペースがありますが、。
\nobreakspace
の後に{}
があるのはなぜですか。キャプションにno~break
がある場合、.aux
ファイルに展開バージョンが表示されます
no\nobreakspace {}break
~
の後のスペースが必要なまれなケースに対処するために、中括弧が導入されました。それらがないと、no~ break
は
no\nobreakspace break
と書き込み、.aux
fileの場合、スペースは無視されます。中かっこを使用すると
no\nobreakspace {} break
が書き込まれ、追加のスペースは無視されません。
1つ入力するとどうなりますか<出力にdivid = "7f2302bf54">
がありますか? 2つのスペースが追加されますが、スペースは破棄可能なアイテムが前にない場合にのみ実行可能な改行ポイントであるため、それらで改行することはできません。 \nobreakspace
は
\leavevmode\penalty 10000 \
になり、ペナルティはスペースのように破棄できるため、\
も次のスペースも改行に使用できません。
逆の場合no ~break
2つのスペースが出力されますが、ブレークポイントが可能になりました最初のスペースで(そして、それが取られた場合、両方がペナルティとともに消えます)。
コメント
- いい説明。 +1と言ってもいいですか?
-
no~ break
について話しますが、no ~break
については話しません。特に、このケースは、スペースの代わりに改行を使用して行ごとに文字制限を使用する場合に発生する可能性があります。この場合はどうなりますか? - @RomainPicotほぼ同じですが、ブレークが発生しない場合は2つのスペースがありますが、ブレークは可能です(
no~ break)
ではありません)。 - @egreg精度に感謝します
;-)
- @RomainPicotプロンプトに感謝して最後のメモを追加しました。
回答
これは、iv id = “の~
の定義です。 c17027f25f “>
\catcode `\~=13 \def~{\nobreakspace{}}
\nobreakspace
は
\DeclareRobustCommand{\nobreakspace}{% \leavevmode\nobreak\ }
したがって、アクティブな文字~
は、行に分割できないスペースに相当します。
~
は壊れないスペースですが、スペースは壊れない'です。:p
\the....
カウンター出力コマンドの後に頻繁に使用されます。~
=\nobreakspace