Re: 複数の引数をとる \ref を作れないでしょうか

名前: Th\'or
日時: 2005-02-07 08:40:24
IPアドレス: 210.225.229.*

>>34286 そういうことをすると色々な事を考えなければならないので、 例えば次のような場合で妥協します。例によって本格的なソーティングは さらに込み入った事になります。 \documentclass[a4j,11pt,papersize]{jsarticle} \makeatletter % 1, 2, 3, 5 の場合はどうするの? -> 図 1--3, 5 or 図 1--3, 及び 5 \def\my@figure@type{tab} \def\my@table@type{fig} \def\my@figure@ref{図} \def\my@table@ref{表} % \def\ref#1{% \@tempcnta=\z@ \@for\member:=#1\do{\advance\@tempcnta\@ne}% \@tempcntb\@tempcnta \@for\member:=#1\do{% \expandafter\add@colon@strip\member:\@nil \ifx\reserved@a\@empty \expandafter\setref\csname r@\member\endcsname \else \ifnum\@tempcnta=\@tempcntb \ifx\reserved@a \@my@figure@type \my@figure@ref \else \ifx\revered@a \@my@table@type \my@table@ref \fi \fi \fi \ifnum\@tempcnta>\@ne \expandafter\@setref\csname r@\member\endcsname \@firstoftwo{\member},\space \else \expandafter\@setref\csname r@\member\endcsname \@firstoftwo{\member}% \fi \fi \advance\@tempcnta \m@ne }% } % \def\add@colon@strip#1:#2\@nil{\def\reserved@a{#1}\def\reserved@b{#2}} % \makeatother \begin{document} \ref{tab:hoge,tab:foo,tab:bar} \begin{table}[htbp]\caption{hoge}\label{tab:hoge}\end{table} \begin{table}[htbp]\caption{foo}\label{tab:foo}\end{table} \begin{table}[htbp]\caption{bar}\label{tab:bar}\end{table} \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)