這很奇怪。我必須做一些有趣的解決方法才能讓它起作用,但我們還有另一個絆腳石。將散列標記包含在用 newcommand替換的LaTeX indexentry中
我一直在努力創建一個單獨的文檔,該文檔使用了一個大的.ind文件(使用來自連接的小型單獨.idx文件的makeindex創建的索引),這個想法是我最終將有一個文檔,子文檔和索引數據發生的頁碼。
爲此,我不得不定義其收集所有索引條目的命令:
\newcommand{\myindexer}[3]
{\index{myindex}{#1 : #2.#3!\href{\doctitle.pdf}}}
結果是在myindex.idx文件索引項爲:
\indexentry{IndexedItemA : 55.iii!\href{Volume 1.pdf}{Volume 1.pdf}}{30}}
\indexentry{IndexedItemB : 23.vi!\href{Volume 3.pdf}{Volume 3.pdf}}{114}}
但是,嘗試爲目標PDF創建超級參考時存在問題。爲了在特定頁面打開一個PDF格式如下需要採用(感謝有人在這個委員會的指出在包hyperref宏的#page.xx語法人):
\href{FILENAME#page.XX}{Link Text}
wihch手段該散列標記需要被包括在\ newcommand的輸出流中時myindex被聲明,可能使用轉義散列標記#爲:
\newcommand{\myindexer}[3]
{\index{myindex}{#1 : #2.#3!\href{\doctitle.pdf\#page.\thepage}}}
或根據一些片段,我發現某處使用雙 - 標記爲:
對多個文檔的膠乳源的編譯過程中在以下錯誤3210\newcommand{\myindexer}[3]
{\index{myindex}{#1 : #2.#3!\href{\doctitle.pdf##page.\thepage}}}
前者結果被索引:
! Illegal parameter number in definition of \@gtempa.
<to be read again>
\thepage
l.31 \myindex{IndexedItemA}{55}{iii}
雖然不希望的反斜槓後者導致在所得myindex.idx文件爲:
\indexentry{IndexedItemA : 55.iii!\href {Volume 1.pdf\#page.33}{Volume 1}}{33}
這導致目標PDF無法正確打開。
任何想法如何可以強制newcommand輸出哈希標記以支持這種方式的PDF超鏈接?
是否需要立即擴展'\ thepage'? – 2010-03-05 08:36:56