TikZ node に()を使った文字を入れられない

TikZ node に()を使った文字を入れられない

- mathema の投稿
返信数: 6

\documentclass[dvipdfmx]{jsarticle}

\newcommand{\bm}[1]{{\mbox{\boldmath $#1$}}}

\usepackage[truedimen,margin=10mm]{geometry}

\usepackage{adigraph}

\usepackage{emathMw}

\usepackage{tikz}

\usepackage{xcolor}

\usetikzlibrary{positioning}

\renewcommand{\baselinestretch}{0.65}

\begin{document}

\NewAdigraph{AdigraphB}{

G(A):0,0;

u:4,4;

v:0,4;

t:4,0;

}{

v,v;

u,u;

v,u;

u,v;

t,u;

v,t;

u,t;

t,v;

t,t;

}\AdigraphB{}

\end{document}


https://konoyonohana.blog.fc2.com/blog-entry-518.html

を参考にして上記を入力したのですが


! Package tikz Error: A node must have a (possibly empty) label text.


See the tikz package documentation for explanation.

Type H <return> for immediate help.

...

 

l.27 \end

{document}

?


というエラーが出てきました.

nodeの文字が良くないようでただGと入力したときは出力されたのですが G(A)と入力するとだめなようです.


よろしければご教授お願いします.



mathema への返信

Re: TikZ node に()を使った文字を入れられない

- 和田 勇 の投稿
「G(A):0,0;」を「G-A:1,0:G(A);」のように node label を
指定すれば可能だと思います。

参考 texdoc adigraph (あるいは http://mirrors.ctan.org/graphics/pgf/contrib/adigraph/adigraph_documentation.pdf )の 6 ページから7 ページの 3.3.3 Custom node labels を参考にしてください。
和田 勇 への返信

Re: TikZ node に()を使った文字を入れられない

- mathema の投稿
遅くなりすみません.

わざわざpdfまで載せていただきありがとうございます.
今後も参考にさせていただきます.
望み通りに出力できたました.ありがとうございます.

別質問になってしれないかもしれませんが,

\documentclass[dvipdfmx]{jsarticle}

\newcommand{\bm}[1]{{\mbox{\boldmath $#1$}}}

\usepackage[truedimen,margin=10mm]{geometry}

\usepackage{adigraph}

\usepackage{emathMw}

\usepackage{tikz}

\usepackage{xcolor}

\usetikzlibrary{positioning}

\renewcommand{\baselinestretch}{0.65}

\begin{document}

\NewAdigraph{AdigraphB}{

G-A:0,0:G(A);

G-A':4,0:G(A');

F-A:0,4:F(A);

F-A':4,4:F(A');

}{

F-A,G-A:1:$\alpha_A$;

G-A,F-A:1:$\alpha^{-1}_A$;

F-A,F-A':1:$F(f)$:

G-A,G-A':1:$G(f)$;

F-A',G-A':1:$\alpha_{A'}$;

G-A',F-A':1:$\alpha^{-1}_{A'}$;

F-A,F-A:1:$1_{F(A)}$;

F-A',F-A':1:$1_{F(A')}$;

G-A,G-A:1:$1_{G(A)}$;

G-A',G-A':1:$1_{G(A')}$;

}\AdigraphB{}

\end{document}


と入力したところ


! LaTeX3 Error: Too many ':' tokens when trying to split argument.


For immediate help type H <return>.

...

 

l.28 \end

{document}

?


とのエラーが出てきてしまいました.

:が多すぎるとのことなので半分ぐらい;置き換えたのですが結局同じエラーが出てきてしまいました.


よろしければご教授お願いします.

mathema への返信

Re: TikZ node に()を使った文字を入れられない

- 和田 勇 の投稿

エラーを見ると

   Too many ':' tokens when trying to split argument.

となっているので該当箇所を見ましょう。

diff --git a/XXX.tex b/XXX.tex
index 17b4f0a..87fc82e 100644
--- a/XXX.tex
+++ b/XXX.tex
@@ -16,7 +16,7 @@
 }{
   F-A,G-A:1:$\alpha_A$;
   G-A,F-A:1:$\alpha^{-1}_A$;
-  F-A,F-A':1:$F(f)$:
+  F-A,F-A':1:$F(f)$;
   G-A,G-A':1:$G(f)$;
   F-A',G-A':1:$\alpha_{A'}$;
   G-A',F-A':1:$\alpha^{-1}_{A'}$;
和田 勇 への返信

Re: TikZ node に()を使った文字を入れられない

- mathema の投稿
ありがとうございます.
お陰様で目的の図は書けました.
また別質問になってしまうのですが

\documentclass[divpdfmx]{jsarticle}

\newcommand{\bm}[1]{{\mbox{\boldmath $#1$}}}

\usepackage{amsmath}

\usepackage{amssymb}

\usepackage{amsfonts}

\usepackage{pdfpages}

\usepackage{mathrsfs}

\usepackage{ascmac}

\usepackage{graphicx}

\usepackage{color}

\usepackage[all]{xy}

\usepackage{cancel}

\usepackage{framed}

\usepackage{latexsym}

\usepackage[truedimen,margin=10mm]{geometry}

\usepackage{adigraph}

\usepackage{emathMw}

\usepackage{tikz}

\usepackage{xcolor}

\usetikzlibrary{positioning}

\renewcommand{\baselinestretch}{0.65}

\def\qed{\hfill $\Box$}

\newcommand{\ctext}[1]{\raise0.2ex\hbox{\textcircled{\scriptsize{#1}}}}

\newfont{\bg}{cmr9 scaled\magstep4}

\newcommand{\bigzerol}{\smash{\lower1.0ex\hbox{\bg 0}}}

\newcommand{\bigzerou}{%

\smash{\hbox{\bg 0}}}

\parindent = 0pt

\begin{document}

$\begin{matrix}

\xymatrix{

F(A)\ar[r]^{F(f)}\ar[d]_{\alpha_A}\ar@/_26pt/[dd]_{1_{F(A)}}&F(A')\ar[d]^{\alpha_{A'}}\ar@/^26pt/[dd]^{1_{F(A')}}\\

G(A)\ar[r]_{G(f)}\ar[d]_{\alpha^{-1}_A}&G(A')\ar[d]^{\alpha^{-1}_{A'}}\\

F(A)\ar[r]_{F(f)}&F(A')

}

&

\xymatrix{

G(A)\ar[r]^{G(f)}\ar[d]_{\alpha^{-1}_A}\ar@/_26pt/[dd]_{1_{G(A)}}&G(A')\ar[d]^{\alpha^{-1}_{A'}}\ar@/^27pt/[dd]^{1_{G(A')}}\\

F(A)\ar[r]_{F(f)}\ar[d]_{\alpha_A}&F(A')\ar[d]^{\alpha_{A'}}\\

G(A)\ar[r]_{G(f)}&G(A')

}

&

\NewAdigraph{AdigraphB}{

G-A:0,0:G(A);

G-A':4,0:G(A');

F-A:0,4:F(A);

F-A':4,4:F(A');

}{

F-A,G-A:1:$\alpha_A$;

G-A,F-A:1:$\alpha^{-1}_A$;

F-A,F-A':1:$F(f)$;

G-A,G-A':1:$G(f)$;

F-A',G-A':1:$\alpha_{A'}$;

G-A',F-A':1:$\alpha^{-1}_{A'}$;

F-A,F-A:1:$1_{F(A)}$;

F-A',F-A':1:$1_{F(A')}$;

G-A,G-A:1:$1_{G(A)}$;

G-A',G-A':1:$1_{G(A')}$;

}\AdigraphB{}

\end{matrix}

$

\end{document}


以上の環境で入力すると以前載せた環境で入力した図の様にならなくなってしまいます.


よろしければご教授お願いします.

mathema への返信

Re: TikZ node に()を使った文字を入れられない

- 和田 勇 の投稿

別の質問にした方が良いですが、以下の警告メッセージが表示されています。

        LaTeX Warning: Unused global option(s):
            [divpdfmx].

        dvipdfmx:warning:  ← 多数表示されている

以下を参考に修正してください。

        -\documentclass[divpdfmx]{jsarticle}
        +\documentclass[dvipdfmx]{jsarticle}

これを対処してもおそらく以下の二つ問題は発生すると思います。

  • AdigraphB がページ溢れしてしまう → 表示文字を小さくするとか、横書きにするなどの工夫が必要

  • AdigraphBがxymatrixで描画したものと並ばない → AdigraphB とxymatrixが並ぶように工夫をする

その他、余計なお節介ですが ...

matrix 環境を $\begin{matrix} ... \end{matrix}$ としていますが、その中にも $...$ が多く含まれています。 改変された時、ミスを引き起こしやすいので、今回のように広帯域に渡る場合は equation または equation* の利用も検討された方が良いと思います。

    \begin{equation} %%あるいは {equation*}
       \begin{matrix}
       ...
       \end{matrix}
     \end{equation} %%あるいは {equation*}
和田 勇 への返信

Re: TikZ node に()を使った文字を入れられない

- mathema の投稿
ありがとうございます.

教えていただいた修正箇所を修正し

\documentclass[dvipdfmx]{jsarticle}

\newcommand{\bm}[1]{{\mbox{\boldmath $#1$}}}

\usepackage{amsmath}

\usepackage{amssymb}

\usepackage{amsfonts}

\usepackage{pdfpages}

\usepackage{mathrsfs}

\usepackage{ascmac}

\usepackage{graphicx}

\usepackage{color}

\usepackage[all]{xy}

\usepackage{cancel}

\usepackage{framed}

\usepackage{latexsym}

\usepackage[truedimen,margin=20mm]{geometry}

\usepackage{adigraph}

\usepackage{emathMw}

\usepackage{tikz}

\usepackage{xcolor}

\usetikzlibrary{positioning}

\def\qed{\hfill $\Box$}

\newcommand{\ctext}[1]{\raise0.2ex\hbox{\textcircled{\scriptsize{#1}}}}

\newfont{\bg}{cmr9 scaled\magstep4}

\newcommand{\bigzerol}{\smash{\lower1.0ex\hbox{\bg 0}}}

\newcommand{\bigzerou}{%

\smash{\hbox{\bg 0}}}

\parindent = 0pt

\begin{document}

\begin{equation*}

\begin{matrix}

\xymatrix{

F(A)\ar[r]^{F(f)}\ar[d]_{\alpha_A}\ar@/_26pt/[dd]_{1_{F(A)}}&F(A')\ar[d]^{\alpha_{A'}}\ar@/^26pt/[dd]^{1_{F(A')}}\\

G(A)\ar[r]_{G(f)}\ar[d]_{\alpha^{-1}_A}&G(A')\ar[d]^{\alpha^{-1}_{A'}}\\

F(A)\ar[r]_{F(f)}&F(A')

}

&

\xymatrix{

G(A)\ar[r]^{G(f)}\ar[d]_{\alpha^{-1}_A}\ar@/_26pt/[dd]_{1_{G(A)}}&G(A')\ar[d]^{\alpha^{-1}_{A'}}\ar@/^27pt/[dd]^{1_{G(A')}}\\

F(A)\ar[r]_{F(f)}\ar[d]_{\alpha_A}&F(A')\ar[d]^{\alpha_{A'}}\\

G(A)\ar[r]_{G(f)}&G(A')

}

&

\NewAdigraph{AdigraphB}{

G-A:0,0:G(A);

G-A':3,0:G(A');

F-A:0,3:F(A);

F-A':3,3:F(A');

}{

F-A,G-A:1:$\alpha_A$;

G-A,F-A:1:$\alpha^{-1}_A$;

F-A,F-A':1:$F(f)$;

G-A,G-A':1:$G(f)$;

F-A',G-A':1:$\alpha_{A'}$;

G-A',F-A':1:$\alpha^{-1}_{A'}$;

F-A,F-A:1:$1_{F(A)}$;

F-A',F-A':1:$1_{F(A')}$;

G-A,G-A:1:$1_{G(A)}$;

G-A',G-A':1:$1_{G(A')}$;

}\AdigraphB{}

\end{matrix}

\end{equation*}

\end{document}


と入力したところ和田さんの言う通りグラフは出力されたのですが


  • AdigraphB がページ溢れしてしまう

  • AdigraphBがxymatrixで描画したものと並ばない

の問題が発生しました.

そこで教えていただいた修正案をやろうと思ったのですがいただいたpdf,以前参照していたサイト,「adigraph サイズを変える」を検索し参照等してみたのですがそれらしきものが見つかりませんでした.

もし方法を知っていましたらご教授お願いします.一応別質問をたてたいと思います.

それに助言ありがとうございます.サイトを参照その他我流でやってきたので助かります.