6

私はセクションを持っています:

\section{Introduction} \label{sec:introduction}

リンク テキストがセクションの名前であるセクションへのリンクを希望します。私は使用できますhyperref

The \hyperrf[sec:introduction]{Introduction} introduces the paper.

ただし、そのためには、セクション タイトル (「はじめに」) を繰り返す必要があります。それをつかむ方法はありますか?refセクション番号が得られますが、これは正しくありません。 autoref「セクション」とセクション番号が返されますが、これも正しくありません。

4

3 に答える 3

13

これを提供するパッケージがいくつかあります。nameref は、これを行うための hyperref の一部として配布されています:
http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=nameref

zref と呼ばれる、基本的に何でも相互参照するためのより一般的なパッケージがあります: http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=zref

これは、hyperref と同じ著者である Heiko Oberdiek によるものです。それは私が選ぶものです。次に例を示します。

\documentclass[oneside,12pt]{article}
\usepackage[user,titleref]{zref}
\begin{document}
\section{Introduction of sorts.}\zlabel{sec:intro}
Hello
\subsection{Structure}
We begin in `\ztitleref{sec:intro}'.
\end{document}

セクション タイトルの末尾のピリオドも削除されることに注意してください。

于 2009-02-07T01:27:02.473 に答える
1

私の知る限り、これを行う標準的な方法はありません。簡単に言うと、セクショニング コマンドは、セクションの名前を簡単に取得できる場所には保存しません。はい、それらは目次(および関連する補助ファイル)に挿入され、マークが設定されますが、それらへのアクセスはせいぜい信頼性が低く、追加のコンテキストがなければ通常は不可能です。セクションへ。

あなたが投稿したコードサンプルは、私が書くもののように見えます。これを自動化するパッケージが存在する可能性がありますが、存在する場合、これは特に一般的な使用例ではないため、おそらくかなり複雑なコードです。実際、あなたが作成している最終的なテキストは正しくありません。「はじめに」という単語は、文中は小文字にする必要があります。これは、(一般的に) 実際のセクション タイトルへの後方参照では実現できません。

私はそれを吸い上げて、このような参照を手動で書き出すだけです。自動化を正当化するのに十分な数はありません。もちろん、例が示唆するよりも複雑なこと (多くの自動生成されたセクションなど) を行っている場合は、状況が異なる可能性がありますが、その場合は、実際にはまったく別の問題です。

于 2009-02-07T01:23:55.977 に答える
0

あなたは使用してみることができます

  • \newsavebox
  • \savebox
  • \usebox

入力の手間が省けるわけではありませんが、タイトルごとに単一の信頼できる情報源が得られます


そして、あなたは検索するかもしれませんがctan.org、これはすでに行われていると思います.

于 2009-02-07T01:16:05.040 に答える