アプリ版:「スタンプのみでお礼する」機能のリリースについて

TeXで、\refや\labelを設定することにより、
式や章などの番号を参照することが出来ます。

この機能ですが、章番号ではなく章名を参照することは出来ないのでしょうか?
章名を頻繁に変更する可能性がある場合に備えて、
名前を抜き出したいのです。

よろしくお願い致します。

A 回答 (4件)

私の勘違いでなければ, #1 さんの回答は,【章番号】でなく【章タイトル】を参照したいという質問者さんの問いに答えていないように思えます(LaTeX が標準で提供する ¥label, ¥ref の機能はあくまで【章番号】の参照です).



正攻法としては,¥label, ¥ref と類似の仕組みで aux ファイルを介して章タイトルの参照を可能にするマクロを新たに作るべきなのでしょうが,それは残念ながら私の手には負えません(既製のマクロパッケージでその機能を実現しているものが存在する可能性はありますが).

手っ取り早い解決法として,章タイトルをじかに書くのでなく,マクロにして1箇所でまとめて定義しておいてはどうでしょうか.

====
% 先頭近くで
¥def¥joron{序論}
¥def¥honron{本論}
¥def¥ketsuron{結論}

% 章の始まり
¥chapter{¥joron}¥label{chap:joron}

% 参照するとき
これこれの話題については,すでに第¥ref{chap:joron}章「¥joron 」で述べた.
====
    • good
    • 0

質問に合った回答ができていなかったので、お詫びします。



TeX Wiki の相互参照のところを読んでください。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeX …

これを実現したい場合、マクロしかないということですね。

滋賀大学 熊澤 吉起 教授のページ
http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/ …
これが参考になると思います。
http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/ …
    • good
    • 0

#2さんのいうとおりマクロを作ればいいだけです.


要は参照と同じようなことをすればいいのです.

jbook.clsがベースならば
\@chapterの中で細工すればいいでしょう.

すべての見出しで見出しタイトルを参照することもできますが
とりあえず章だけ.
細かい動作チェックはしていませんのであしからず.

\documentclass{jbook}

\makeatletter

\def\@chapter[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter\space\@chappos}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
\else\addcontentsline{toc}{chapter}{#1}\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
%%%%%%%%%%%%%
\def\@currentchaplabel{#2}%%!!
%%%%%%%%%%%%%
\@makechapterhead{#2}\@afterheading}

\def\label#1{\@bsphack
\protected@write\@auxout{}%
{\string\newlabel{#1}{{\@currentlabel}{\@currentchaplabel}{\thepage}}}%
\@esphack}

\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstofthree{#1}}
\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
\@thirdofthree{#1}}

\def\chref#1{\expandafter\@setref\csname r@#1\endcsname\@secondofthree{#1}}

\def\@firstofthree#1#2#3{#1}
\def\@secondofthree#1#2#3{#2}
\def\@thirdofthree#1#2#3{#3}

\makeatother

\begin{document}

\chapter{hoge}\label{hoge}

\ref{hoge}章

\pageref{hoge}ページ

タイトル「\chref{hoge}」
\end{document}
    • good
    • 0

\label コマンドと \ref コマンドを使います。



http://www002.upp.so-net.ne.jp/latex/sansho.html

http://www.clas.kitasato-u.ac.jp/~fujiwara/infoS …

http://www.h4.dion.ne.jp/~latexcat/intro/intro15 …

http://nenya.cis.ibaraki.ac.jp/TIPS/LaTeX.html

体系的に学習していますか?書籍を読むことをお勧めしますが、こういうサイトもありますから、読んでみてください。

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/

http://ja.wikibooks.org/wiki/TeX/LaTeX%E5%85%A5% …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

\label コマンドと \ref コマンドで出来るのは
チャプターの番号ですよね?

そうではなく、チャプターのタイトルを参照したいのですが・・・

よろしくお願い致します。

お礼日時:2011/07/16 18:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!