diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/istgame/istgame-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/istgame/istgame-doc.tex | 718 |
1 files changed, 649 insertions, 69 deletions
diff --git a/Master/texmf-dist/doc/latex/istgame/istgame-doc.tex b/Master/texmf-dist/doc/latex/istgame/istgame-doc.tex index af88f6a5d22..52ec5a61497 100644 --- a/Master/texmf-dist/doc/latex/istgame/istgame-doc.tex +++ b/Master/texmf-dist/doc/latex/istgame/istgame-doc.tex @@ -1,22 +1,30 @@ %!TEX program = arara -% arara: xelatex: {synctex: yes} -% arara: xelatex: {synctex: yes} +% arara: pdflatex: {shell: yes, synctex: yes} +% arara: xelatex: {shell: yes, synctex: yes} % arara: makeindex: {style: istgame} -% arara: xelatex: {synctex: yes} -% arara: xelatex: {synctex: yes} +% arara: xelatex: {shell: yes, synctex: yes} +% arara: xelatex: {shell: yes, synctex: yes} -\def\tmpdate{2019/01/27} % final -\def\tmpversion{2.0} +\def\tmpdate{2022/03/22} +\def\tmpdate{\today} +\def\tmpversion{2.1} \def\printtikztreetest{} \def\printtest{} +\def\printteststar{} \def\printdoc{} %\renewcommand\printtikztreetest{\input{istgame_test_tree}} -%\renewcommand\printtest{\input{istgame_test}} -\renewcommand\printdoc{\include{istgame-doc-v2.0}} +%\renewcommand\printtest{\clearpage\input{istgame_test}} +%\renewcommand\printteststar{\clearpage\input{istgame_test-star}} +\renewcommand\printdoc{\include{istgame-doc-v\tmpversion}} +%% ====================================================== \documentclass[a4paper,amsmath]{oblivoir} +%% ====================================================== +%\documentclass[a4paper,article]{memoir} +%\renewcommand\thesection{\arabic{section}} +%\usepackage{istgame-v\tmpversion} \usepackage{istgame} \usepackage{fapapersize} @@ -25,16 +33,25 @@ \settocdepth{subsubsection} \setlength\cftsubsubsectionindent{4.5em} +%% us date +\usepackage{datetime} +\usdate \let\mytoday\today +\AtBeginDocument{\let\today\mytoday} + +\AtBeginDocument{% \renewcommand\contentsname{Table of Contents} \renewcommand\figurename{Figure} \renewcommand\tablename{Table} \renewcommand\abstractname{Abstract} \renewcommand\indexname{Index} -\renewcommand\pagerefname{\kern-4pt} +\renewcommand\pagerefname{\kern-4pt}% +} + +%\usepackage[hidelinks]{hyperref} % (memoir) \hypersetup{pdfborder={0 0 0}} % to suppress the hyperlink red box -\usepackage{mathtools} +%\usepackage{amsmath,mathtools} %\usepackage{xparse} %% oblivoir loads xparse %\usepackage{tikz} %% istgame loads tikz \usepackage{makecell} @@ -45,51 +62,73 @@ %\usepackage{url} %\setistdefaultnodedrawcolor{red} % test -%\setistdefaultnodefillcolor{black!16} % (try for macos mohave dark mode, TeXShop background color) +%\setistdefaultnodefillcolor{black!16} % (try for MacOS mohave dark mode, TeXShop background color) \usepackage{tcolorbox} -\tcbuselibrary{listings,breakable} - \tcbset{breakable,listing above text,center upper,sidebyside gap=10pt, - lower separated=true,center lower, - listing options={ - style=tcblatex, - keywordstyle=\color{blue}, - commentstyle=\color{black!20!green}, - morekeywords={ - istgamefontsize,setistgamefontsize,setistgamearrowendshorten, - istgame,istroot,istrooto,istb,endist,xtdistance,istbm, - istbt,istB,istBt,istbA,cntmAInfoset,cntmAInfosetO, - istrootcntm,istrootcntmA,istrootocntm,istrootocntmA, - setistgrowdirection,istgrowdirection, - setistmathTF,istownerlmathtrue,istownermathfalse,istactioinlabelmathtrue, - istactionlabelmathfalse,istpayoffmathtrue,istpayoffmathfalse, - cntmdistance,cntmlevdist,cntmsibdist, - cntmApreset,cntmistb,cntmAistb,cntmAexpostShowEndPoints, - xtInfoset,xtInfosetO,xtActionLabel, - xtSubgame,xtSubgameBox,xtSubgameOval, - xtgrow,setxtgrowkey,xtInfosetOwner,xtOwner,xtPayoff,xtNode, - xtALPush,xtALShift, - xtShowEndPoints,xtHideEndPoints, - xtShowTerminalNodes,xtHideTerminalNodes, - xtTimeLineH,xtTimeLineV,xtCommentTo,xtCommentFrom,xtShowArrows,xtHideArrows, - xtlevdist,xtsibdist, - xtShowArrows,xtHideArrows,xtShowMidArrows,xtHideMidArrows, - setxtshowarrows,setxtmidarrows,setxtshowmidarrows, - setxtinfosetlayer,setxtsubgamelayer, - setistNewNodeStyle, - setistDecisionNodeStyle,setistOvalNodeStyle, - setistSolidNodeStyle,setistHollowNodeStyle, - setistEllipseNodeStyle,setistNullNodeStyle,setistRectangleNodeStyle, - xtALpush,xtALshift, - xtdefaultsubrootshiftoval, - tikzstyle,draw,coordinate,foreach,setlength, - NewDocumentCommand,NewDocumentEnvironment,IfBooleanTF,tikzset, - xtCInfoset,xtCInfosetO,xtCInfosetOTurnX, - cntmpreset,cntmApreset,cntmAlayerpreset - setxtinfosetstyle,setxtarrowtips,setxtinfosetstyle - } - } - } +\tcbuselibrary{minted,xparse,listings,breakable} +\tcbset{% + listing engine=minted,breakable, +% minted language=latex, + after={\par\vspace{.5\baselineskip}\noindent} +} +\tcbset{% + colback=yellow!5!white, + colframe=blue!30, + listing outside text, + righthand width=.3\linewidth, + center upper, + center lower, + sidebyside gap=5pt, + minted style=igor, %tango, **igor, xcode, ***manni, *autumn, colorful, + listing options={% + style=tcblatex, +% keywordstyle={\color{blue}}, + commentstyle=\color{black!20!green}, +% morekeywords={ +% istgamefontsize,setistgamefontsize,setistgamearrowendshorten, +% istgame,istroot,istrooto,istb,endist,xtdistance,istbm, +% istbt,istB,istBt,istbA,cntmAInfoset,cntmAInfosetO, +% istrootcntm,istrootcntmA,istrootocntm,istrootocntmA, +% setistgrowdirection,istgrowdirection, +% setistmathTF,istownerlmathtrue,istownermathfalse,istactioinlabelmathtrue, +% istactionlabelmathfalse,istpayoffmathtrue,istpayoffmathfalse, +% cntmdistance,cntmlevdist,cntmsibdist, +% cntmApreset,cntmistb,cntmAistb,cntmAexpostShowEndPoints, +% xtInfoset,xtInfosetO,xtActionLabel, +% xtSubgame,xtSubgameBox,xtSubgameOval, +% xtgrow,setxtgrowkey,xtInfosetOwner,xtOwner,xtPayoff,xtNode, +% xtALPush,xtALShift, +% xtShowEndPoints,xtHideEndPoints, +% xtShowTerminalNodes,xtHideTerminalNodes, +% xtTimeLineH,xtTimeLineV,xtCommentTo,xtCommentFrom,xtShowArrows,xtHideArrows, +% xtlevdist,xtsibdist, +% xtShowArrows,xtHideArrows,xtShowMidArrows,xtHideMidArrows, +% setxtshowarrows,setxtmidarrows,setxtshowmidarrows, +% setxtinfosetlayer,setxtsubgamelayer, +% setistNewNodeStyle, +% setistDecisionNodeStyle,setistOvalNodeStyle, +% setistSolidNodeStyle,setistHollowNodeStyle, +% setistEllipseNodeStyle,setistNullNodeStyle,setistRectangleNodeStyle, +% xtALpush,xtALshift, +% xtdefaultsubrootshiftoval, +% tikzstyle,draw,coordinate,foreach,setlength, +% NewDocumentCommand,NewDocumentEnvironment,IfBooleanTF,tikzset, +% xtCInfoset,xtCInfosetO,xtCInfosetOTurnX, +% cntmpreset,cntmApreset,cntmAlayerpreset +% setxtinfosetstyle,setxtarrowtips,setxtinfosetstyle +% }, + }, % end of listing options +} + +\DeclareTCBListing{docstx}{ !O{} } + {colback=blue!5!white,listing only,#1} +\DeclareTCBListing{docsty}{ !O{} } + {colback=red!5!white,listing only,#1} +\DeclareTCBListing{docplain}{ !O{} } + {colback=white,colframe=gray!15,listing only,#1} +\DeclareTCBListing{doccode}{ !G{1} !O{} } + {righthand width=\expandafter#1\linewidth,#2} + %\usepackage{tikz-qtree} %%% DO NOT USE % or, add the following in the option @@ -106,14 +145,6 @@ \noindent\hangfrom{\textsc{Keywords: }}% } -\NewDocumentEnvironment{mytcblisting}{O{}} -{ \medskip - \begin{tcblisting}{#1} -} -{ \end{tcblisting} - \medskip -} - \NewExpandableDocumentCommand\xcol{mO{c|}m} {\multicolumn{#1}{#2}{\ensuremath{#3}}} @@ -124,10 +155,14 @@ \def\hpara{\hangpara{1.52em}{1}} \def\listdivider{\leavevmode\smallskip\hrule width 1.5em\smallskip} -\newcommand\remark{\noindent \textbf{Remark: }} -\newcommand\warning{\noindent \textbf{Warning: }} - -%% index +\NewDocumentCommand\remark{ O{1} } + {\xmedskip{#1}\noindent \textbf{Remark: }} +\NewDocumentCommand\warning{ O{1} } + {\xmedskip{#1}\noindent \textbf{Warning: }} +% +\newcommand\sourcelink[1]{\ttfamily\color{blue}\uline{#1}} +% +%%% index %\renewcommand\cmd[1]{\cmdprint{#1}} \ExplSyntaxOn \renewcommand \cmd [1] @@ -136,6 +171,7 @@ { \cmdprint {#1} } { \textbackslash \cs_to_str:N #1 } } +\let\CMD\cmd \ExplSyntaxOff \newcommand\xw[1]{\cmd{#1}} @@ -149,9 +185,10 @@ \newcommand\ipkg[1]{\textsf{#1}\index{#1@\textsf{#1}}} \newcommand\ienv[1]{\textsf{#1}\index{#1@\textsf{#1}}} + \makeatletter \newcommand{\icmd}[1]{\cmdprint{#1}% - \index{\expandafter\@gobble\string#1@\string\cmdprint{\string#1}}} + \index{\expandafter\@gobble\string#1(@\string\cmdprint{\string#1}}} \makeatother \makeindex @@ -163,6 +200,8 @@ Draw Game Trees with \Tikz} \def\tmpclearpage{\clearpage} +\AtBeginDocument{\MakeShortVerb{\|}} + %%======================================================================= \begin{document} @@ -171,9 +210,8 @@ Draw Game Trees with \Tikz} \renewcommand{\abstracttextfont}{\normalfont\small\noindent\ignorespaces} \begin{abstract} -This is a \LaTeX{} package that provides macros based on \Tikz\ to draw a game tree. The main idea underlying the core macros here is the completion of a whole tree by using a sequence of simple `parent-child' tree structures, with no longer nested relations involved like the use of grandchildren or great-grandchildren. -With the \ipkg{istgame} package, you can draw a game tree as easily as drawing a game tree with pen and paper. - +This is a \LaTeX{} package that provides \Tikz-based macros to draw game trees. The main idea underlying the core macros here is the completion of a whole tree by using a sequence of simple `parent-child' tree structures, with no longer nested relations involved like the use of grandchildren or great-grandchildren. +With the \ipkg{istgame} package, you can draw game trees as easily as drawing game trees with pen and paper. \begin{keywords} game trees, nodes, branches, information sets, continuum of branches, subgames \end{keywords} @@ -186,8 +224,550 @@ game trees, nodes, branches, information sets, continuum of branches, subgames \printtikztreetest \printtest +\printteststar \printdoc + +%\clearpage +\setsecnumdepth{chapter} +\section{Version history} +\label{version-history} + +\begin{itemize} +%\item v\tmpversion (\tmpdate) to be uploaded to CTAN +% \begin{itemize} +% \item +% \end{itemize} +\item v2.1 (2022/03/22) uploaded to CTAN + \begin{itemize} + \item document done! + \end{itemize} +\item v2.092 (2022/03/21) + \begin{itemize} + \item working on the documentation + \item added |arrows.meta| and |bending| to the list of preloaded |tikz| libraries + \begin{itemize} + \item applied |arrows.meta| arrow tips to the related examples + \end{itemize} + \end{itemize} +\item v2.091 (2022/03/16) + \begin{itemize} + \item modified |istgame| environment to add its starred version + \begin{itemize} + \item |\begin{istgame}*| is essentially the same as |\begin{tikzpicture}| + \item but loses some feature of the \pkg{istgame} package + \end{itemize} + \item fixed all macros related information sets to remove arrow tips + \item touched |\AtBeginDocument{\setxtarrowtips}| + \item rewrote |\setistmathTF(*)| and related macros to avoid a possible conflict + \end{itemize} +\item v2.09 (2021/04/05) + \begin{itemize} + \item removed |\pgfextra| from |\istrootcntm| and |\istrootcntmA| (debugging) + \item resolved the null font problem in |\cntmistb| and |\cntmAistb| using |\l_nullfont_tl| (debugging) + \item added |\setist<...>nodesize| for |solid|, |hollow|, |ellipse|, and |rectangle| (for global setting in the preamble) + \end{itemize} +\item v2.0 (2019/01/27) uploaded to CTAN + \begin{itemize} + \item changed the title of the package to ``Draw Game Trees with \Tikz" + \item package document done + \end{itemize} +\item v2.0rc (2019/01/27) + \begin{itemize} + \item introduced |\setxtinfosetstyle| + \begin{itemize} + \item introduced |infoset style|, a new style for information sets + \item modified all definitions of information sets, accordingly + \end{itemize} + \item redefined macros related to layer, to easily restore default values + \item modified the cross arrow tip options + \item modified defaults of |\setxtarrowtips| not to depend on branch styles initially + \item code refinement + \end{itemize} +\item v2.0beta1 (2019/01/26) + \begin{itemize} +% \item beta test + \item introduced |\xtshowXpoints| and |\xtshowXcircles| (for developer only, not documented) + \end{itemize} +%%%\item v1.99x (2019/01/24) +%%% \begin{itemize} +%%% \item changed |expl3| macros +%%% \begin{itemize} +%%% \item \verb+\str_case_x:nnTF+ to \verb+\str_case_e:nnTF+ and then to \verb+\str_case:nnTF+ +%%% \item \verb+\str_if_eq_x:nnTF+ to \verb+\str_if_eq:eeTF+ and then to \verb+\str_if_eq:nnTF+ +%%% \end{itemize} +%%% \item modified macros on arrows and middle arrows +%%% \item redefined |\xtTimeLineH| and |\xtTimeLineV| to deal with swap of branches +%%% \item modified |\xtCommentTo| and |\xtCommentFrom| for the last option delimiters +%%% \end{itemize} +%%%\item v1.99w (2019/01/21) +%%% \begin{itemize} +%%% \item fixed bug in |\xtInfosetO| regarding |\xtinfosetheihtvar| for |rounded corner| +%%% \item corrected |\cntmistb| and |\cntmAistb| +%%% \begin{itemize} +%%% \item separated options for |\cntmAistb| from those for |\cntmistb| +%%% \item those two are independent to each other (except the way to deal with endpoints) +%%% \end{itemize} +%%% \item redefined |\endist| to restore initial values after each execution of the \verb+cntm(A)istb+ +%%% \begin{itemize} +%%% \item but not for the effect of printing endpoints +%%% \item (internally introduced) |\cntmistbVariablesRestore| +%%% \item (internally introduced) |\cntmAistbVariablesRestore| +%%% \end{itemize} +%%% \item introduced |\xtHideEndPoints*| for extra work for continuum endpoints +%%% \item introduced |\cntmAlayerpreset|, with |behind| as default +%%% \item redefined |\xtShowArrows| to add an option for a node style +%%% \item changed the order of options for |\setxtshowarrows| +%%% \item changed the order of options for |\setxtarrowtips| +%%% \item renamed |\setxtmidarrows| to |\setxtarrowtips| +%%% \end{itemize} +%%%\item v1.99v (2018/01/17) +%%% \begin{itemize} +%%% \item redefined the \env{istgame} environment and |\istgameScaleCallTestAndAdjust| +%%% to take care of simultaneous use of |xscale| and |yscale|. +%%% \item modified macros to make singleton information sets scaled accordingly when needed +%%% \begin{itemize} +%%% \item |\xtInfosetO|, |\xtCInfosetO|, |\cntmAInfosetO|, |\istgameScaleCallTestAndAdjust| +%%% \item (internally) added |\xtinfosetheightvar| and |\cntminfosetheightvar| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99u (2019/01/15) +%%% \begin{itemize} +%%% \item redefined macros to deal with local change of sibling distances +%%% \begin{itemize} +%%% \item redefined |\istrootcntm|, |\istrootcntmA|, |\istrootocntm|, |\istrootocntmA|, +%%% \item redefined |\istbA|, |\istbAt| +%%% \item redefined |\cntmpreset|, |\cntmApreset| -- NEED TO GO BACK (no need call test) +%%% \end{itemize} +%%% \item redefined |\xtCInfoset| to add abbreviations for the position of owners +%%% \item redefined |\xtCInfoset| to print a singleton information set +%%% \item modified |\xtCInfoset| to change the way of input for its position (|add to \textbackslash cntmApos|) +%%% \end{itemize}\ +%%%\item v1.99t (2019/01/13) +%%% \begin{itemize} +%%% \item redefined macros to deal with local change of level and sibling distances for |\istbA| +%%% \begin{itemize} +%%% \item code complication, inevitable to take care of too many cases +%%% \item redefined |\istroot| and |\istrooto| +%%% \item redefined |\istrootcntm| and its variants +%%% \item redefined |\istbA| and |\istbAt| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99s (2019/01/10) +%%% \begin{itemize} +%%% \item modified |\xtCInfosetO| for better results when swapped with \xw{plotfactor} less than 1 +%%% \item modified |\istrootcntm| and its variants for better results of shrunken continua +%%% \item redefined |\xtTimeLineH| (for a horizontal time-line) +%%% \item introduced |\xtTimeLineH(')| for a vertical time-line +%%% \item introduced |\xtCInfosetOTurnX| for turning X circles to use it just in case +%%% \end{itemize} +%%%\item v1.99r (2019/01/07) +%%% \begin{itemize} +%%% \item redefined |\istrootcntm| and |\istrootocntm| for smaller triangle continua of branches +%%% \item introduced |\cntmpreset| and |\cntmpreset*| +%%% \item put `call test' for cases of how to change level distance with |\istbA| +%%% \item modified |\xtCInfosetO| and |\cntmAInfosetO| for coloring +%%% \end{itemize} +%%%\item v1.99q (2019/01/05) +%%% \begin{itemize} +%%% \item modified |\xtInfosetO| to print a singleton information set by a circle. +%%% \item finished fine-tuning |\cntmAInfosetO| (for tuning base circles) +%%% \end{itemize} +%%%\item v1.99p (2019/01/02) +%%% \begin{itemize} +%%% \item redefined |\xtInfoset| and |\xtInfosetO| in accordance with new |\xtCInfosetO| +%%% \item redefined completely |\cntmAInfoset| and |\cntmAInfsetO| in the way of |\xtCInfosetO| +%%% \item redefined |\cntmAInfoset|, |\cntmAInfosetO|, |\istrootcntmA|, and |\istrootocntmA| +%%% \begin{itemize} +%%% \item to compensate the dependency of arcs on the ratio of |\cntmlevdist| to |\cntmsibdist| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99o (2018/12/31) +%%% \begin{itemize} +%%% \item redefined completely |\xtCInfosetO| and |\xtCInfoset| for enhancement +%%% \begin{itemize} +%%% \item (internally) added |\setxtCIAngleAccordingtoGrowswapCallForCI| +%%% \item to make it possible for the control points to turn accordingly along the base circles +%%% for sides of curved information sets +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99n (2018/12/27) +%%% \begin{itemize} +%%% \item redefined |\setistmathTF*| to make it work with basic text font styles +%%% \begin{itemize} +%%% \item |\istownertextfont|, |\istactionlabeltextfont|, |\istpayofftextfont| +%%% \item all working only in text mode +%%% \end{itemize} +%%% \item introduced |\xtcureslopedlabelsNS| and |\xtcureslopedlabelsEW| to resolve a \Tikz\ conflict to sloped labels +%%% \begin{itemize} +%%% \item (internally) added |\xtlevdistadj| and |\xtsibdistadj| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99m (2018/12/21) +%%% \begin{itemize} +%%% \item added starred versions that work with |\setistmathTF| +%%% \begin{itemize} +%%% \item |\xtInfoset*|, |\xtInfosetO*|, |\xtCInfoset|, |\xtCInfosetO| +%%% \item |\xtOwner*|, |\xtActionLabel*|, |\xtPayoff*|, |\xtInfosetOwner*| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99l (2018/12/18) +%%% \begin{itemize} +%%% \item changed the order and the type of argument delimiters for input consistency +%%% \begin{itemize} +%%% \item |\xtCInfosetO|, |\cmtmAinfosetO|, and their related macros +%%% \item effective from \xw{v.1.99l} +%%% \begin{itemize} +%%% \item not consistent with the earlier versions of update +%%% \item but intact with the \xw{version 1} +%%% \end{itemize} +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99k (2018/12/15) +%%% \begin{itemize} +%%% \item introduced |\xtCInfosetO| for bubble type curved information sets +%%% \begin{itemize} +%%% \item (internally) added |\xtPrototypeForCInfosetO| -- only for |\xtCInfosetO| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99j (2018/12/11) +%%% \begin{itemize} +%%% \item introduced |\xtCInfoset| for curved information sets +%%% \begin{itemize} +%%% \item (internally) added |\istgameScaleCallTestAndAdjust| (must be used in a group) +%%% \item (internally) added |\setxtCIAngleAccordingtoGrowswapCall| +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99i (2018/12/08) +%%% \begin{itemize} +%%% \item (macro name change, effective from \xw{v1.99i}) all `\xw{cntmarc}' changed to `\xw{cntmA}' +%%% \item introduced |\cntmAInfosetO| +%%% \item introduced |\cntmAexpostShowEndPoints| +%%% \item introduced |\istbA(*)| and |\istbAt(*)| +%%% \end{itemize} +%%%\item v1.99h (2018/11/07) +%%% \begin{itemize} +%%% \item changed the default position of a continuum arc from \xw{.5} to \xw{1} +%%% \item introduced |\cntmarcInfoset| +%%% \end{itemize} +%%%\item v1.99g (2018/09/30) +%%% \begin{itemize} +%%% \item put |\xtShowArrows| and |\xtShowMidArrows| into |\istB| +%%% \item found issues with |\xtShowArrows| and |\xtShowMidArrows| related to \xw{postaction} +%%% \item added the arrow end shorten option to |\xtCommentTo| and |\xtCommentFrom|. +%%% \item (internal) minor changes +%%% \begin{itemize} +%%% \item redefined |\setistSolidNodeStyle| to keep consistency with other node styles +%%% \item redefined |\setistNullNodeStyle| to keep consistency with other node styles +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99f (2018/09/19) +%%% \begin{itemize} +%%% \item (internally) redefined |\cntmistb| and |\cntmarcistb| to resolve endpoints problems +%%% \begin{itemize} +%%% \item (internally) added |\cntmOUTERistb| and |\cntmarcOUTERistb| +%%% \item (internally) removed |\cntmendpointsShow| and |\cntmendpointsPrint| +%%% \item (internally) redefined |\istrootcntm| and its variants accordingly +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99e (2018/09/15) +%%% \begin{itemize} +%%% \item introduced |\xtShowArrows| and |\xtHideArrows(*)| +%%% \item introduced |\setxtshowarrows| +%%% \item introduced |\xtShowMidArrows| and |\xtHideMidArrows| +%%% \end{itemize} +%%%\item v1.99d (2018/09/13) +%%% \begin{itemize} +%%% \item introduced |\setxtarrowtips| with a tikzstyle \xw{->-} +%%% \item introduced new arrow styles: \xw{->>-}, \xw{->>>-}, \xw{-o-}, and \xw{-x-} +%%% \end{itemize} +%%%\item v1.99c (2018/09/09) +%%% \begin{itemize} +%%% \item introduced |\cntmistb| and |\cntmarcistb| +%%% \item redefined |\cntmdistance| to check if |\cntmactsibdist| is called or not +%%% \item (internally) added |\cntmendpointsShow| +%%% \begin{itemize} +%%% \item redefined |\xtShowEndPoints| and |\xtHideEndPoints| accordingly +%%% \item introduced |\xtShowEndPoints*| (for outermost branches of a continuum) +%%% \end{itemize} +%%% \item (internally) added |\cntmendpointsPrint| +%%% \begin{itemize} +%%% \item redefined |\istrootcntm| and its variants accordingly +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.99b (2018/09/07) +%%% \begin{itemize} +%%% \item redesigned |\istrootcntm| and its variants +%%% \begin{itemize} +%%% \item removed |\ISTCntm(')| and |\ISTCntmArc(')| +%%% \end{itemize} +%%% \item introduced |\cntmdraw|, |\cntmdrawset| and related macros +%%% \item redfined |\cntmdistance| to check if |\cntmactsibdist| is called or not +%%% \end{itemize} +%%%\item v1.99a (2018/09/05) +%%% \begin{itemize} +%%% \item introduced |\setistgameshorten| (for \env{istgame} environment option) +%%% \end{itemize} +%%%\item v1.98 (2018/09/03) +%%% \begin{itemize} +%%% \item redefined |\istrootcntm(arc)| to make it work with |\setistmathTF(*)| +%%% \item redefined |\istrootocntm(arc)| to make it work with |\setistmathTF(*)| +%%% \end{itemize} +%%%\item v1.97 (2018/09/02) +%%% \begin{itemize} +%%% \item redefined |\istroot(o)| to resolve tex expansion problems +%%% \item redefined |\istrootcntm(arc)| to resolve tex expansion problems +%%% \item redefined |\istrootocntm(arc)| to resolve tex expansion problems +%%% \item redefined the \env{istgame} environment to add \xw{[shorten >=0pt]} if \xw{[->]} exists +%%% \end{itemize} +%%%\item 1.96 (2018/08/30) +%%% \begin{itemize} +%%% \item minor changes +%%% \begin{itemize} +%%% \item altered the default sibling distance of |\xtdistance| from \xw{15mm} to \xw{\levdist} +%%% \item altered initial options for \xw{null}, \xw{solid}, and \xw{hollow} nodes (added \xw{thin}, \xw{solid}) +%%% \item added \xw{text depth=.25ex} for some definitions +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.95 (2018/08/27) +%%% \begin{itemize} +%%% \item resolved dimension issues for |\cntmdistance| +%%% \item added |\xtOwner*|, |\xtActionLabel*|, |\xtPayoff*| (working with |\setistmathTF(*)|) +%%% \end{itemize} +%%%\item v1.94 (2018/08/22) +%%% \begin{itemize} +%%% \item resolved tex expansion issues in the macros for a continuum of branches +%%% \end{itemize} +%%%\item v1.93 (2018/08/19) +%%% \begin{itemize} +%%% \item introduced |\setistmath| to set input mode for owners, action labels, and payoffs +%%% \item introduced |\setistmath*| to print action labels in italics, in case of text mode +%%% \item (internally) added |\istownerstyle|, |\istactionlabelstyle|, and |\istpayoffstyle| +%%% \end{itemize} +%%%\item v1.92 (2018/08/17) +%%% \begin{itemize} +%%% \item redesigned the \env{istgame} environment +%%% \begin{itemize} +%%% \item to extract the number input from \xw{scale}, \xw{xscale}, or \xw{yscale} +%%% \item added |\xtscale|, |\xtxscale|, and |\xtyscale| to save scale option values +%%% \end{itemize} +%%% \item tested to apply scale values to improve the result of |\xtInfosetO| +%%% \end{itemize} +%%%\item v1.91 (2018/08/16) +%%% \begin{itemize} +%%% \item many changes to resolve expansion problems +%%% \begin{itemize} +%%% \item redefined |\cntmset|, |\cntmarcset|, and related macors +%%% \item redifined |\cntmlevdist| and |\cntmsibdist| as lengths +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.9 (2018/08/11) +%%% \begin{itemize} +%%% \item introduced |\cntmarcplotfactorset| +%%% \end{itemize} +%%%\item v1.8 (2018/08/09) +%%% \begin{itemize} +%%% \item made possible to use the directional abbreviations with |\xtInfoset| +%%% \item introduced |\istrootocntm| and |\istrootocntmarc| (oval versions) +%%% \end{itemize} +%%%\item v1.7 (2018/08/04) +%%% \begin{itemize} +%%% \item introduced |\istbm| +%%% \item introduced |\setistNewNodeStyle| +%%% \end{itemize} +%%%\item v1.6 (2018/08/01) +%%% \begin{itemize} +%%% \item resigned |\cntmdistance| (now ready for users) +%%% \begin{itemize} +%%% \item added |\cntmactsibdist| to distinguish it from |\cntmsibdist| +%%% \end{itemize} +%%% \item added |\cntmdistance*| to incorporate with |\xtdistance| +%%% \item introduced |\istrootcntmA(')| +%%% \begin{itemize} +%%% \item added (internally) |\ISTCntmArc(')| +%%% \item added |\cntmarcset| +%%% \end{itemize} +%%% \item introduced |\istrootcntm(')| +%%% \begin{itemize} +%%% \item added (internally) |\ISTCntm(')| +%%% \end{itemize} +%%% \item (internally) renamed |\istCntmRoot(Arc)| to |\obsoleteISTCntm(Arc)| +%%% \end{itemize} +%%%\item v1.5 (2018/07/26) +%%% \begin{itemize} +%%% \item introduced |\setxtinfosetlayer| +%%% \item introduced |\setxtsubgamelayer| +%%% \end{itemize} +%%%\item v1.4 (2018/07/12) +%%% \begin{itemize} +%%% \item completely rewrote |\xtInfosetO| to deal with sloped information sets +%%% \begin{itemize} +%%% \item removed |\xtInfosetO'| and |\xtInfoset'| (critical change for users!) +%%% \end{itemize} +%%% \end{itemize} +%%%\item v1.3 (2018/07/06) +%%% \begin{itemize} +%%% \item (internally) renamed some macros (such as |\xt@...|) +%%% \item (internally) renamed |\xtaction| to |\istaction| +%%% \item (internally) renamed |\xtpayoff| to |\istpayoff| +%%% \item (internally) renamed |\istRoot(O)| to |\ISTRoot(O)| +%%% \end{itemize} +%%%\item v1.2 (2017/12/11) +%%% \begin{itemize} +%%% \item replaced |\istb.| by |\istbt| (critical change for users!) +%%% \begin{itemize} +%%% \item |\istb| redefined accordingly +%%% \item this is the cost of introducing |\istB(*)| +%%% \end{itemize} +%%% \item introduced |\istB(*)| to deal with dual action labels +%%% \item added |\istbt(*)| and |\istBt(*)| +%%% \item added \xw{text depth=.25ex} as an option to |\istroot| and |\istrooto| +%%% \end{itemize} +%%%\item v1.1 (2017/10/02) +%%% \begin{itemize} +%%% \item introduced |\xtCommentTo| and |\xtCommentFrom| +%%% \item introduced |\xtTimeLineH(')| +%%% \item redefined |\xtActionLabel| to deal with sloped labels +%%% \item replaced |\tikzstyle| by |\tikzset| +%%% \end{itemize} +\item v1.0 (2017/09/04) + \begin{itemize} + \item introduced |\cntmlevdist| and |\cntmsibdist| + \item introduced |\cntmdistance| + \item redefined related marcos + \item package document done + \end{itemize} +%%%\item v1.0 (2017/09/04) ready to submit to CTAN +%%% \begin{itemize} +%%% \item introduced |\cntmlevdist| and |\cntmsibdist| +%%% \item introduced |\cntmdistance| (for internal use) +%%% \item redefined related marcos. +%%% \item package document done +%%% \end{itemize} +%%%\item v0.99g (2017/08/21) +%%% \begin{itemize} +%%% \item redefined the \env{istgame} environment to add \xw{>=stealth} as default +%%% \item added \xw{text depth=.25ex} as an option to |\istb| to get better alignment of action labels +%%% \end{itemize} +%%%\item v0.99f (2017/08/02) +%%% \begin{itemize} +%%% \item redefined |\xtInfosetO(')| +%%% \begin{itemize} +%%% \item added \verb+\begin{scope}[on background layer]...\end{scope}+ +%%% \end{itemize} +%%% \end{itemize} +%%%\item v0.99e (2017/08/01) +%%% \begin{itemize} +%%% \item introduced the prime(\xw{'}) versions to deal with \xw{grow'} (this is the swap version in \TikZ) +%%% \item redefined |\istroot(')| +%%% \item defined |\istrooto(')| to replace |\istroot*| +%%% \begin{itemize} +%%% \item |\istroot*| completely replaced by |\istrooto| +%%% \end{itemize} +%%% \item redefinde |\istcntm| +%%% \item defined |\istcntmarc| +%%% \begin{itemize} +%%% \item |\istcntm*| completely replaced by |\istcntmarc| +%%% \end{itemize} +%%% \item redefined |\xtInfoset(')| and |\xtInfosetOwner(')| +%%% \item introduced |\xtInfosetO(')| +%%% \begin{itemize} +%%% \item |\xtInfoset*| completely replaced by |\xtInfosetO| +%%% \end{itemize} +%%% \item introduced |\xt@growswap| introduced +%%% \item redefined |\xtNode| accordingly +%%% \end{itemize} +%%%\item v0.99d (2017/07/27) +%%% \begin{itemize} +%%% \item defined |\xtSubgameBox(*)| and |\xtSubgameOval(*)| to express a subgame +%%% \end{itemize} +%%%\item v0.99c (2017/07/20) +%%% \begin{itemize} +%%% \item defined |\xtgrow| to deal with going `clockwise' of branch arrangement +%%% \item defined |\setxtgrowkey| to change between \xw{grow} and \xw{grow'} +%%% \item introduced |\setistgrowdirection'| by redefining |\setistgrowdirection| +%%% \item updated `related macros' accordingly +%%% \end{itemize} +%%%\item v0.99b (2017/07/16) +%%% \begin{itemize} +%%% \item renamed \xw{zero node} as \xw{plain node} +%%% \item added |\setistPlainNodeStyle| +%%% \item defined |\xtNode*| (for a terminal node text with a plain node) +%%% \item redefined |\xt<...>NodeStyle| (now all arguments are optional) +%%% \item renamed |\isthorizontallabelshift| as |\istactionlabelxshift|, with default \xw{1pt} +%%% \item renamed |\istverticallabelshift| as |\istactionlabelyshift|, with default \xw{2pt} +%%% \end{itemize} +%%%\item v0.99a (2017/03/10) +%%% \begin{itemize} +%%% \item started rewriting package manual +%%% \item introduced |\istb.|\ (for terminal nodes) +%%% \item redefined |\xtShowTerminalNodes| +%%% \item introduced |\xtShowEndPoints| and |\xtHideEndPoints| +%%% \item redefined |\xtInfoset*|, with |\xtdefaultinfosep| added +%%% \end{itemize} +%%%\item v0.9 (2017/02/13) +%%% \begin{itemize} +%%% \item some internal macro names changed (|\xtnode|, |\xttnode|,|\xtshowtnode|) +%%%% \item conflict with \pkg{tikz-qtree} resolved. (\env{istgame} differs from \env{tikzpicture} with \pkg{tikz-qtree}) +%%%% \item |\setistbranchanchors| added +%%% \item added \xw{zero node} +%%% \end{itemize} +%%%\item v0.8 (2017/01/17) +%%% \begin{itemize} +%%% \item macro names changed +%%% \begin{itemize} +%%% \item |\xtdistance|: prefix `\xw{x}' changed to `\xw{xt}' meaning `extensive tree' +%%% \item |\xtInfoset(*)|, |\xtInfosetOwner|, |\xtActionLabel|, |xtOwner|, |\xtPayoff|, |\xtNode| +%%% \item |\xtShowTerminalNodes|, |\xtHideTerminalNodes| +%%% \item |\xtlevdist|, |\xtsibdist| +%%% \end{itemize} +%%% \item |\xtNode| redefined +%%% \item some internal macro names changed (including |\xtpayff|, |\xtmove|) +%%% \item node styles redefined +%%% \item |\setist<Solid>NodeStyle| added for <Various> node styles +%%% \item |\setistdefaultnodecolor|, |setistdefaultnodebgcolor| added +%%% \end{itemize} +\end{itemize} + + +\section{Acknowledgement} + +The basic idea of the \pkg{istgame} package came from Osborne's \pkg{egameps} package and Chen (2013). +The update of the package \pkg{istgame} to \xw{version 2.0} is partly motivated by the questions and discussions on the \xw{game tree} topic at \url{https://tex.stackexchange.com/}. +Special thanks go to Kangsoo Kim of KTUG for his great help in using \pkg{expl3} to simplify the appearance and the usage of the macros, and to resolve the issues on \TeX's expansion. + + +\section{References} +\hpara{}Chen, H.~K.~(2013), ``Drawing Game Trees with \TikZ,'' \url{http://www.sfu.ca/~haiyunc/notes/Game_Trees_with_TikZ.pdf}. + +\hpara{}Cho, I-S.~(2017), ``\pkg{istgame}: Drawing Game Trees with \TikZ,'' in Korean TeX Society, \emph{\TeX, Beyond the World of Typesetting}, Seoul: Kyungmoonsa, 203--237. + +\hpara{}Osborne, M.~J.~(2004a), ``Manual for \pkg{egameps.sty},'' Version 1.1, \url{http://texdoc.net/texmf-dist/doc/latex/egameps/egameps.pdf} + +\hpara{}\uline{\hphantom{Osborne, M.~J}}~(2004b), \emph{An Introduction to Game Theory}, New York: Oxford. + +\hpara{}Tantau, T.~(2021), ``\TikZ\ and PGF: Manual for version 3.1.9a,'' \url{http://sourceforge.net/projects/pgf}. + +%\section*{Discussions (in Korean) on KTUG board} +% +%\begin{itemize} +%\item Drawing Game Trees 1: \url{http://www.ktug.org/xe/index.php?document_srl=207287} +% +%\item Drawing Game Trees 1-1: \url{http://www.ktug.org/xe/index.php?document_srl=207513} +% +%\item Drawing Game Trees 1-2: +%\url{http://www.ktug.org/xe/index.php?document_srl=208286} +% +%\item Drawing Game Trees 2: \url{http://www.ktug.org/xe/index.php?document_srl=212043} +% +%\item Drawing Game Trees 2-1: +%\url{http://www.ktug.org/xe/index.php?document_srl=212225} +% +%\item Drawing Game Trees 2-2: +%\url{http://www.ktug.org/xe/index.php?document_srl=212319} +%\end{itemize} + +\clearpage \printindex \end{document} |