LaTeXの:新しい段落を避けますか?
質問
私は\todo
パッケージから\todonotes
コマンドを使用します。私は前の段落とは別に\todos
を置くために私のソースをレイアウトしたいと思います:
Some text.
\todo{make note}
しかし、私は\todo
は、文書の間隔まで新しい段落、またはそれネジを起動する必要はありません。
これを回避するコマンドはありますか?
それまでの空白を消費するためのコマンド/パッケージがあった場合は、、その後、私はそれを使用する\todo
を再定義することができます。
の編集:のすべてのものの間に%を追加明らかに非常に刺激します。他に何か?
解決
私はあなたがおそらく%
を追加する必要があることを他のみんなに同意する必要がありますが、私はこの質問が面白いん。問題は、LaTeXのは、空行を読み込みや否や、それは前の段落を終了\par
コマンドに変換されることをです。 \todo
の開始時に、その\par
コマンドがすでに実行されている、そしてそれは(私が思う)、それを元に戻すことは不可能です。だからあなたの唯一の希望が挿入されるか、それが通常行うように振る舞うからその\par
を維持することです。あなたが挿入されるのを防ぐためにしたい場合は、空の行が\par
に変換する方法を教えてくれなければならない「TeXbook」の第8章を読んで試みることができます。また、あなたのアイデアの以下の種類に基づいて、溶液を作製しようとすることができます:
Some text.{\let\par\relax \todo{make note}}
しかし、気を付けろ!あなたは間違いなくしたくないのグローバルの\par
の新しい定義が唯一のグループ内で有効になりますので、私はLaTeXのコマンドがスコープされている中括弧(の余分なペアを追加した理由である\par
の振る舞いを、変更定義がなされた場合)。幸運ます。
他のヒント
は、%は必要ありません\ @ifnextcharと\ @gobbleます。
(前文で、もちろん)のようなものを考えてみましょう
\makeatletter
\let\oldtodo\todo
\renewcommand\todo[1]{%
\oldtodo{#1}%
\@ifnextchar\par{\@gobble}{}}
\makeatother
こうすることで、あなたのようなものを持っている場合:
\todo{Stuff}
Things
は、
と同じように動作します\todo{Stuff}
%
Things
または
\todo{Stuff}
Things
は、
のようなマクロでこのようなことを一般化することができます\makeatletter
\newcommand\gobblepars{%
\@ifnextchar\par%
{\expandafter\gobblepars\@gobble}%
{}}
\makeatother
あなたがスペースを食べたいところはどこでも、あなたはその後、(TODOの後のような)\gobblepars
を使用することができます。 (上記のように)あなたはまた、自動的に後\gobblepars
を配置するためにTODOを再定義することができます。
をリードするの空きスペースを処理するには。あなたも\gobblepars
を使用できますが、明示的でなければなりません。たとえばます:
Some text\gobblepars
\todo{Stuff}
2行の間に現れてから、\パーを防ぐことができます。
これを試してください:
Some text. % \todo{make note}
テキストとのToDoメモやそれをコメント
の間に新しい行を残すべきではないかもしれSome text.
%
\todo{make note}
どの程度
Some text.
%
\todo{make note}
%
some more text
を設定し\endlinechar=-1
。私は区切り線の上に\par
を入力するよりも大きな刺激であるが、それはあなたが求めているものだと思うの段落を分離するために%
を使用する必要があります。
どのように、まだ仕事を持っているすべてを保つことについては、それを削除して行うにはより多くの仕事がありませんときに適切なドキュメントに移動、その後の\ defのタグ内に行うには、左、と?
例えばます。
\def \par1
{
It was the best of times, it was the
}
\def \par2000
{
"Repression is the only lasting philosophy. The dark deference of fear and slavery, my friend," observed the Marquis
}
\def \paridunno
{
The end
}
チャールズ・ディケンズによって二都物語、
\par1
\todo{write a whole bunch of pages}
\par2000
\todo{Visit ghost of Christmas future, copy pages from finished book}
\paridunno
\todo{Think of a better ending}
それはあなたに\ listoftodosを与えるという利点もあり、両方のソースで、文字通り、および
出力ます。
ちょうどあなたのテキストの途中で、あなたの\ TODOの権利が含まれます。何改行なし、何もありません。
何とか何とか何とかテキストの\ TODO {今これを行ってください!}複数のテキスト何とか何とか何とか。
私のパソコン(XP、miktex 2.7、texniccenterを獲得)この作品の罰金、上には改行を生成しない、と余白にTODOメモを置きます。 。 。