%#!uplatex \documentclass[a4paper,uplatex]{jsarticle} \usepackage{otf} \usepackage{enumitem} \usepackage{shortvrb} \usepackage[verb]{bxghost} \MakeShortVerb{\|} \newcommand{\PkgName}[1]{\textsf{#1}} \newcommand{\ThisPkg}{\PkgName{WTRef}} \newcommand{\Meta}[1]{$\langle$\mbox{}\textit{#1}\mbox{}$\rangle$} \newenvironment{syntax}{\begin{quote}\small}{\end{quote}} \title{\ThisPkg パッケージ (v1.0.0)} \author{æœå€‰å“人 (wtsnjp)} \begin{document} \maketitle \begin{abstract} WTシリーズã¯è‘—者ãŒ\LaTeX 文書作æˆã«ã‚ãŸã£ã¦ã‚ˆã利用ã™ã‚‹ãƒžã‚¯ãƒã‚’集ã‚ãŸã‚‚ã®ã§ã‚る. \ThisPkg パッケージã¯ã“ã®WTシリーズを構æˆã™ã‚‹ãƒ‘ッケージã®1ã¤ã§ã‚り,\LaTeX オリジナル㮠相互å‚照機能を拡張ã—ã¦ã‚¹ã‚³ãƒ¼ãƒ—ã®æŒ‡å®šã¨åå‰ç©ºé–“ã®åˆ†é›¢ï¼Œå‚ç…§å½¢å¼ã®æŸ”è»ŸãªæŒ‡å®šã‚’å¯èƒ½ã«ã™ã‚‹ï¼Ž サãƒãƒ¼ãƒˆå¯¾è±¡ã¯ä»»æ„ã®\TeX エンジンã¨\LaTeXe ã®çµ„ã¿åˆã‚ã›ã§ï¼Œå‹•作ã«ã¯\PkgName{xparse}, \PkgName{xkeyval}パッケージãŒå¿…è¦ã§ã‚る. \end{abstract} \section{動作è¦ä»¶} \ThisPkg パッケージã®å‹•作è¦ä»¶ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る. % \begin{itemize} \item \TeX ã‚¨ãƒ³ã‚¸ãƒ³ï¼šä»»æ„ \item \TeX フォーマット:\LaTeXe \item ドã‚ãƒ¥ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ï¼šä»»æ„ \item ä¾å˜ãƒ‘ッケージ:\PkgName{xparse}, \PkgName{xkeyval} \end{itemize} \section{パッケージèªã¿è¾¼ã¿} èªã¿è¾¼ã¿ã«ã¯|\usepackage|命令を用ã„る.オプションã¯å˜åœ¨ã—ãªã„. % \begin{syntax} |\usepackage{wtref}| \end{syntax} \section{相互å‚照命令} \subsection{相互å‚ç…§å‘½ä»¤ã®æ–°è¨} |\newref|命令を用ã„ã¦ç›¸äº’å‚ç…§ã«ç”¨ã„ã‚‹2ã¤ã®å‘½ä»¤ã‚’æ–°è¨ã™ã‚‹ã“ã¨ãŒã§ãる.ã“ã®å‘½ä»¤ã¯ プリアンブルã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã‚る. % \begin{syntax} |\newref[|\Meta{options}|]{|\Meta{ref types}|}| \end{syntax} 上記書å¼ä¸ã®\Meta{ref types}ã¯\Meta{ref type}ã®ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã§ã‚る.\Meta{ref type}㯠制御綴ã«ä½¿ç”¨ã§ãã‚‹æ–‡å—ã®ã¿ã§æ§‹æˆã•ã‚ŒãŸæ–‡å—列ã§ï¼ˆåŠè§’英å—ã®ã¿ã«ã—ã¦ãŠãã“ã¨ã‚’推奨),空㧠ã‚ã£ã¦ã¯ãªã‚‰ãªã„.ãªãŠ\Meta{ref types}ã®å…ˆé ・末尾ãŠã‚ˆã³ã‚«ãƒ³ãƒžå‰å¾Œã®é€£ç¶šã™ã‚‹ç©ºç™½ã¯ ã™ã¹ã¦ç„¡è¦–ã•れる. |\newref|å‘½ä»¤ã¯æŒ‡å®šã—ãŸ\Meta{ref type}ã«å¿œã˜ã¦|\|\Meta{ref type}|label|, |\|\Meta{ref type}|ref|ã¨ã„ã†å½¢ã‚’ã‚‚ã¤ï¼Œæ–°ã—ã„2ã¤ã®å‘½ä»¤ã‚’定義ã™ã‚‹ï¼Žã“ã“ã§å‰è€…ã®å‘½ä»¤ã‚’ \textbf{ラベル命令},後者ã®å‘½ä»¤ã‚’\textbf{å‚照命令}ã¨å‘¼ã¶ã“ã¨ã«ã™ã‚‹ï¼Ž|\newref|命令ã¯åŒåã® å‘½ä»¤ãŒæ—¢ã«å˜åœ¨ã—ã¦ã„ã¦ã‚‚,ãã®å®šç¾©ã‚’上書ãã™ã‚‹ã®ã§\Meta{ref type}ã¯æ³¨æ„ã—ã¦é¸ã¶å¿…è¦ãŒã‚る. ã¾ãŸï¼Œ\Meta{options}ã«ã¯ä»¥ä¸‹ã®å†…容をkey-valueãƒªã‚¹ãƒˆã§æŒ‡å®šå¯èƒ½ã§ã‚る: % \begin{description}[font=\normalfont] % \item[|namespace=|\Meta{string}] 与ãˆã‚‰ã‚ŒãŸå€¤ã‚’用ã„ã¦\Meta{namespace}ã‚’``\Meta{string}|:|''ã«è¨å®šã™ã‚‹ï¼Ž|namespace|ã‚ーも |nonamespace|ã‚ーも指定ã—ãªã„å ´åˆï¼ŒãŠã‚ˆã³|namespace|ã«ä¸ŽãˆãŸ\Meta{string}ãŒç©ºæ–‡å—列ã§ã‚ã£ãŸ å ´åˆ\Meta{namespace}ã¯``\Meta{ref type}|:|''ã«è¨å®šã•れる. % \item[|nonamespace|] ã“ã®ã‚ーを指定ã™ã‚‹ã¨ï¼Œ\Meta{namespace}ã¯ç©ºã¨ãªã‚‹ï¼Žã™ãªã‚ã¡ï¼Œåå‰ç©ºé–“機能を無効化ã§ãる. ãªãŠï¼Œ|nonamespace|ã‚ーã«å€¤ã‚’指定ã—ã¦ã‚‚エラーã«ã¯ãªã‚‰ãªã„ãŒï¼Œå˜ã«ç„¡è¦–ã•れる. % \item[|scope=|\Meta{counter}] スコープã¨ã—ã¦åˆ©ç”¨ã™ã‚‹ã‚«ã‚¦ãƒ³ã‚¿ã‚’指定ã™ã‚‹ï¼Ž\Meta{counter}ã«ã¯ä»»æ„ã®\LaTeX カウンタを指定ã™ã‚‹ ã“ã¨ãŒå¯èƒ½ã ãŒï¼Œæ–‡æ›¸å†…ã§ä¸€æ„性ã®ã‚るカウンタを指定ã™ã‚‹ã“ã¨ãŒæœ›ã¾ã—ã„.ã“れã«ã‚ˆã‚Š\Meta{scope}㯠``|\the|\Meta{counter}|:|''ã®å½¢ã«è¨å®šã•れる. \end{description} % ã“れらã®è¨å®šã¯ï¼Œ\Meta{ref types}ã§æŒ‡å®šã—ãŸã™ã¹ã¦ã®\Meta{ref type}ã«å¯¾å¿œã™ã‚‹ç›¸äº’å‚照命令㫠ã¤ã„ã¦é©ç”¨ã•れる. ã“ã“ã§\Meta{options}ã«ä½•も指定ã—ãªã„å ´åˆ\Meta{namespace}ã¯\Meta{ref type}ãŒè»¢ç”¨ã•れ㦠``\Meta{ref type}|:|''ã®å½¢ã¨ãªã‚Š\Meta{scope}ã¯ç©ºã«è¨å®šã•ã‚Œã‚‹ï¼Žè¨€ã„æ›ãˆã‚‹ã¨ï¼Œãƒ‡ãƒ•ォルトã§ã¯ åå‰ç©ºé–“æ©Ÿèƒ½ãŒæœ‰åŠ¹ï¼Œã‚¹ã‚³ãƒ¼ãƒ—æ©Ÿèƒ½ã¯ç„¡åйã«è¨å®šã•れã¦ã„る. \subsection{ラベル命令} \subsubsection{機能ã¨ä½¿ã„æ–¹} ラベル命令ã¯ãƒ©ãƒ™ãƒ«ã‚’付ã‘ã‚‹ã¨ãã«ç”¨ã„ã‚‹ï¼Žä½¿ã„æ–¹ã¯\LaTeX ã®|\label|命令ã¨ã¾ã£ãŸãåŒæ§˜ã§ã‚る. 以下ã«ãƒ©ãƒ™ãƒ«å‘½ä»¤ã®ä¾‹|\exlabel|を用ã„ã‚‹ã¨ãã®æ›¸å¼ã‚’示ã—ã¦ãŠã. % \begin{syntax} |\exlabel{|\Meta{label}|}| \end{syntax} \subsubsection{内部処ç†} ãƒ©ãƒ™ãƒ«å‘½ä»¤ã¯æœ€çµ‚çš„ã«æ¬¡ã®ã‚ˆã†ãªå½¢ã«å±•é–‹ã•れる. % \begin{syntax} |\label{|\Meta{namespace}\Meta{scope}\Meta{label}|}| \end{syntax} \subsection{å‚照命令} å‚照命令ã¯å¯¾å¿œã™ã‚‹ãƒ©ãƒ™ãƒ«å‘½ä»¤ã«ã‚ˆã£ã¦ãƒ©ãƒ™ãƒ«ä»˜ã‘ã•れãŸç•ªå·ã‚’,指定ã—ãŸæ›¸å¼ã§å°å—ã™ã‚‹ãŸã‚㮠命令ã§ã‚る.例ã¨ã—ã¦|\exref|ã®ä½¿ã„方を以下ã«ç¤ºã™ï¼Ž % \begin{syntax} |\exref[|\Meta{the scope}|]{|\Meta{label list}|}| \end{syntax} å‚ç…§ã™ã‚‹ãƒ©ãƒ™ãƒ«ãŒåŒã˜ã‚¹ã‚³ãƒ¼ãƒ—内ã«å˜åœ¨ã™ã‚‹å ´åˆã¯\Meta{the scope}ã¯çœç•¥å¯èƒ½ã§ã‚る. \Meta{the scope}ã«å‚ç…§å…ˆã®ã‚¹ã‚³ãƒ¼ãƒ—ã«å¯¾å¿œã™ã‚‹``|\the|\Meta{counter}''ã®å‡ºåŠ›ã‚’ç›´æŽ¥è¨˜å…¥ã™ã‚‹ ã“ã¨ã§ã‚¹ã‚³ãƒ¼ãƒ—ã®ç¯„囲外ã‹ã‚‰ãƒ©ãƒ™ãƒ«ã‚’å‚ç…§ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã‚る.ãªãŠï¼Œã‚¹ã‚³ãƒ¼ãƒ—機能ãŒç„¡åй (|\newref|ã«ã‚ˆã£ã¦ç›¸äº’å‚照命令を定義ã™ã‚‹éš›ã«\Meta{options}ã§|scope|ã‚ーを指定ã—ãªã‹ã£ãŸ å ´åˆï¼‰ã®ã¨ãã¯ï¼Œ\Meta{the scope}ã¯å¸¸ã«ç„¡è¦–ã•れる. ã¾ãŸï¼Œå¼•æ•°ã«ã¯ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§è¤‡æ•°ã®å‚照先ラベルを指定ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã‚る. \Meta{label list}ã®å…ˆé ・末尾ãŠã‚ˆã³ã‚«ãƒ³ãƒžå‰å¾Œã®é€£ç¶šã™ã‚‹ç©ºç™½ã¯ã™ã¹ã¦ç„¡è¦–ã•れる. 複数ã®ãƒ©ãƒ™ãƒ«ã‚’指定ã—ãŸå ´åˆï¼Œãƒ‡ãƒ•ォルトã§ã¯è©²å½“ã™ã‚‹ç•ªå·ãŒã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§å‡ºåŠ›ã•れる. ã“ã®å‡ºåŠ›æ›¸å¼ã¯å¾Œè¿°ã™ã‚‹å‚照書å¼å¤‰æ›´å‘½ä»¤|\setrefstyle|を用ã„ã¦æŸ”軟ã«ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã™ã‚‹ã“ã¨ãŒ ã§ãる. \section{å‚照書å¼å¤‰æ›´å‘½ä»¤} |\setrefstyle|命令を用ã„ã‚‹ã¨ï¼Œå‚照命令ã«ã‚ˆã‚‹å‡ºåŠ›ã‚’æŸ”è»Ÿã«ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã™ã‚‹ã“ã¨ãŒã§ãる. 最åˆã«|\setrefstyle|å‘½ä»¤ã®æ›¸å¼ã‚’示ã—ã¦ãŠã. % \begin{syntax} |\setrefstyle{|\Meta{ref types}|}{|\Meta{options}|}| \end{syntax} ã“れã«ã‚ˆã‚Š\Meta{ref types}ä¸ã«å«ã¾ã‚Œã‚‹\Meta{ref type}ã«å¯¾å¿œã™ã‚‹å‚照命令ãŒå‡ºåŠ›ã™ã‚‹å†…容㮠書å¼ã‚’変更ã§ãる.ã“ã®|\setrefstyle|命令ã¯ãƒ—リアンブルã«é™ã‚‰ãš\LaTeX 文書ソースä¸å…¨åŸŸã§ 使用å¯èƒ½ã§ã‚り,è¨å®šã®æœ‰åŠ¹ç¯„å›²ã¯|{|ã‚„|}|ã«ã‚ˆã‚‹ãƒ–ãƒãƒƒã‚¯ã®åˆ¶å¾¡ã‚’å—ã‘る. \Meta{options}ã«ã¯ä»¥ä¸‹ã®å†…容をkey-valueãƒªã‚¹ãƒˆã§æŒ‡å®šå¯èƒ½ã§ã‚る: % \begin{description}[font=\normalfont] \item[|refcmd=|\Meta{command}] \Meta{label list}ã«ä¸ŽãˆãŸãƒ©ãƒ™ãƒ«ã®æ•°ã ã‘,指定ã—ãŸ\Meta{command}ãŒç¹°ã‚Šè¿”ã—実行・å°å—ã•れる. \Meta{command}ä¸ã«è¨˜å…¥ã•れãŸ|#1|ã¯é©åˆ‡ã«æ•´å½¢ã•れãŸãƒ©ãƒ™ãƒ«åã«ç½®æ›ã•れる.è¦å®šå€¤ã¯|\ref{#1}|. % \item[|sep=|\Meta{command}] \Meta{label list}ã«3ã¤ä»¥ä¸Šã®ãƒ©ãƒ™ãƒ«ãŒè¨˜å…¥ã•れã¦ã„ã‚‹ã¨ãã«ï¼Œ|refcmd|ã®å„出力ã®é–“ã«å°å— ã™ã‚‹åŒºåˆ‡ã‚Šã®å†…容を指定ã™ã‚‹ï¼ŽãŸã ã—,最後ã®åŒºåˆ‡ã‚Šã¯|last sep|ã«æŒ‡å®šã—ãŸå€¤ã¨ãªã‚‹ï¼Ž è¦å®šå€¤ã¯|{,\space}|. % \item[|last sep|(|=|\Meta{command})] \Meta{label list}ã«è¤‡æ•°ã®ãƒ©ãƒ™ãƒ«ãŒè¨˜å…¥ã•れã¦ã„ã‚‹éš›ã«å‡ºåŠ›ã•れる,最後ã®åŒºåˆ‡ã‚Šã‚’指定ã™ã‚‹ï¼Ž |=|以é™ã‚’記入ã›ãšï¼Œå˜ã«|last sep|ã¨æŒ‡å®šã—ãŸå ´åˆï¼Œæœ€å¾Œã®åŒºåˆ‡ã‚Šã«ã¯|sep|ã®å€¤ãŒé©ç”¨ã•れる. è¦å®šå€¤ã¯å€¤æŒ‡å®šãªã—(ã¤ã¾ã‚Š|sep|ã®å€¤ã«å¾“属). % \item[|prefix=|\Meta{command}] å‚照命令を使用ã—ãŸã¨ã,最åˆã«å®Ÿè¡Œãƒ»å°å—ã•れる内容を指定ã™ã‚‹ï¼Ž è¦å®šå€¤ã¯|{}|. % \item[|suffix=|\Meta{command}] å‚照命令を使用ã—ãŸã¨ã,最後ã«å®Ÿè¡Œãƒ»å°å—ã•れる内容を指定ã™ã‚‹ï¼Ž è¦å®šå€¤ã¯|{}|. \end{description} % ã“れらã®è¨å®šã¯ï¼Œæ˜Žç¤ºçš„ã«æŒ‡å®šã—ãŸã‚‚ã®ä»¥å¤–ã¯ãれ以å‰ã®è¨å®šãŒãã®ã¾ã¾å¼•ãç¶™ãŒã‚Œã‚‹ï¼Ž \end{document}