LaTeXでは、コンパイルされたPDFの変数の代わりにコンテンツが使用される文字列変数をどのように定義できますか?
たとえば、ソフトウェアの技術ドキュメントを書いていて、パッケージ名をプリアンブルなどのどこかに定義して、名前が変わった場合に多くの場所で置き換える必要がなく、1か所だけにする必要があるとします。 。
LaTeXでは、コンパイルされたPDFの変数の代わりにコンテンツが使用される文字列変数をどのように定義できますか?
たとえば、ソフトウェアの技術ドキュメントを書いていて、パッケージ名をプリアンブルなどのどこかに定義して、名前が変わった場合に多くの場所で置き換える必要がなく、1か所だけにする必要があるとします。 。
回答:
プリアンブルに次を追加します。
\newcommand{\newCommandName}{text to insert}
次に\newCommandName{}
、テキストで使用できます
の詳細については\newcommand
、たとえばwikibooksを参照してください
例:
\documentclass{article}
\newcommand\x{30}
\begin{document}
\x
\end{document}
出力:
30
\def
コマンドを使用:
\def \variable {Something that's better to use as a variable}
\def
警告なしに既存のマクロを上書きするため、さまざまな微妙なエラーが発生する可能性があることに注意してください。これを克服するmy_var
には\newcommand
、\renewcommand
代わりにコマンドのような名前空間変数を使用するか、フォールバックします。
variable
変化しやすいのではないですか?:)
\def
。代わりに、使用したいすべての変数を最初に「初期化」し\newcommand
(それがだけの場合も含む\@empty
)、次にを使用して変数を変更するコマンドを作成することをお勧めします\renewcommand
。これにより\newcommand
、エラー(または少なくとも警告)がスローされるため、変数が既に存在するかどうかがわかります。
\def
しながら、数式モードで物事のために働く\newCommandName
しません。(例\def\mathExpression{\pi^2 + \sin x}
)
距離を説明変数の場合、あなたが使用する\newlength
(ととの値を操作\setlength
、\addlength
、\settoheight
、 \settolength
および\settodepth
)。
同様に\newcounter
、ドキュメント全体で増加するセクション番号や図番号などにアクセスできます。私は過去にこれを使用して、他の図とは別に番号が付けられたコードサンプルを提供しました...
また、\makebox
後で再利用するために(そして\settolength
... で使用するために)レイアウトされたドキュメントを保存できることに注意してください。
\newlength{\hcolw}
やのような簡単な使用例\setlength{\hcolw}{0.47\textwidth}
が役に立ちます。
を使用する場合\newcommand
は\usepackage{xspace}
、コマンドを含めて定義することもできます\newcommand{\newCommandName}{text to insert\xspace}
。これにより、\newCommandName
ではなく単に使用することができます\newCommandName{}
。
詳細については、http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html