LaTeXでは、コンパイルされたPDFの変数の代わりに内容が使用される文字列変数をどのように定義できますか?LaTeXで変数を定義する方法はありますか?
ソフトウェアで技術文書を作成していて、プリアンブルやどこかでパッケージ名を定義したいとしましょう。その名前が変更された場合は、多くの場所で置き換える必要はありません1か所だけで
LaTeXでは、コンパイルされたPDFの変数の代わりに内容が使用される文字列変数をどのように定義できますか?LaTeXで変数を定義する方法はありますか?
ソフトウェアで技術文書を作成していて、プリアンブルやどこかでパッケージ名を定義したいとしましょう。その名前が変更された場合は、多くの場所で置き換える必要はありません1か所だけで
プリアンブルあなたに次の行を追加します。
\newcommand{\newCommandName}{text to insert}
を次に、あなただけの、例えば参照、\newcommand
の詳細情報については、テキスト
で\newCommandName{}
を使用することができますwikibooks
距離を説明変数の場合、あなたは\newlength
を使用します(と\setlength
、\addlength
、\settoheight
、\settolength
と\settodepth
で値を操作します)。
同様に、ドキュメント全体で増分する必要があるセクション番号や数字などの場合は、\newcounter
にアクセスできます。私は過去にこれを使用して、他の数字とは別に番号が付けられたコードサンプルを提供してきました。
\makebox
また、後で再利用するためにレイアウトされた文書の一部を保存することができます\settolength
...と使用するために)。
'\ newlength {\ hcolw}'や '\ setlength {\ hcolw} {0.47 \ textwidth}'のような簡単な使い方が便利です。 – trybik
\def
のコマンドを使用します。
\def \variable {Something that's better to use as a variable}
は、したがって、すべての警告とせずにマクロを既存の\def
オーバーライドは、様々な微妙なエラーが発生する可能性があることに注意してください。これを克服するには、my_var
のような名前空間の変数を使用するか、\newcommand
、\renewcommand
の代わりにコマンドを使用します。
'\ def'を使うと、既存のマクロをチェックしないので問題になることがあります。 LaTeXの地獄の第二の円を参照してください(http://dabacon.org/pontiff/?p = 6101) - それで '\ newcommand'を使用することが好ましいです –
Thanks @ RyanAtallahがそれについてのノートを追加しました。しかし、「可変」という意味は、それが変化する可能性があるという意味ではありませんか? :) – plaes
@plaesあなたは正しいですが、それでも '\ def'を使いたいというわけではありません。代わりに、 '\ newcommand'(単に' \ @ empty'を使っていても)で使用したいすべての変数を最初に「初期化」し、 '\ renewcommandを使って変数を変更するコマンドを作成することをお勧めします'。 '\ newcommand'はエラー(または少なくとも警告)を投げるので、変数がすでに終了しているかどうかを知ることができます。 – Nick2253
\newcommand
を使用する場合は、\usepackage{xspace}
を含めることができ、\newcommand{\newCommandName}{text to insert\xspace}
でコマンドを定義することもできます。 \newCommandName{}
ではなく、\newCommandName
を使用することができます。 \packagename={New Name for the package}
はに名前を入れる:名前を割り当てるためにトークンリスト \newtoks\packagename
を設定する :詳細については
、http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html
私は、あなたはおそらく、この目的のためにトークンリストを使用したいと思いますあなたの出力: \the\packagename
。
巨大なコンテンツの場合は、\ savebox(https://en.wikibooks.org/wiki/LaTeX/Boxes#savebox)に言及する価値があります。 –