2009-04-04 11 views
17

「appendix」という言葉を目次に表示するにはどうすればいいですか?
......ラテックスのtocに「appendix」を表示させる方法は?

1 ......
2:今のTOCは、次のようになります。

A .....私はそれがしたい


B .....:

1 ......
2 ..... 。

。私のLaTeXソースファイルの構造は、このようなものです
付録A .....
付録B .....

\ {文書}
\ tableofcontents
を開始\ include {...}
\ include {...}
\ appendix
\ include {...}
\これはおそらく最も簡単appendix package、またはmemoir classを使用することによって達成される

+0

実際にプログラミング関連ではありません。申し訳ありません。 –

+2

ラテックスの質問はどのようなものが有効ですか? – chriss

+7

@Johannes:私は同意しない。 SOは一貫してLaTeXの問題をプログラミング関連として扱ってきました。これは、TeXとLaTeXが完全な言語をチューリングしているため、適切です。 – dmckee

答えて

11

終了\
{文書} {...}含まれています。

パッケージ化されたソリューションを使用したくない場合は、 セクションコマンドをハックする必要があります。 論文のためにこれを行う必要が生じたとき、私はreportクラスをクローンし、 に余裕のある女性を満足させるまで編集しました。あなたが探しているのは、\addcontentslineマクロの 定義です。

+0

* appendix *パッケージでは、* appendices *環境で '[page]'オプションを使用しない方法がありますか、または単に "Appendices"タイトルのページ全体を浪費しないでしょうか?問題は、 '[page]'(または '\ appendixpage')をスキップするとTOCが乱れてしまった、つまり「付録」が「付録A」の後に来るということです。 これは関連していると思います:http://stackoverflow.com/questions/2661774/problem-with-adding-appendix-in-latex – mlt

+0

@mlt私は思い出せないほどの時間がありました。 – dmckee

10

この問題を解決するにはいくつかの方法があります。残念ながら、私はこの段階であなたのためのハックを持っています。 1つの問題は、セクション番号 "A"に "付録"という単語が含まれるように再定義すると、目次のフォーマットが崩れることです。その代わりに、私は、セクションを数字なしで印刷し、 "付録X"を手動で挿入する新しいセクションコマンドを定義しました。

醜いの種類が、少なくともそれは私の論文のために:)

 
\documentclass{article} 

\makeatletter 
\newcommand\[email protected][1]{% 
    \refstepcounter{section}% 
    \[email protected]*{Appendix \@Alph\[email protected]: #1}% 
    \addcontentsline{toc}{section}{Appendix \@Alph\[email protected]: #1}% 
} 
\let\[email protected]\section 
\[email protected]@macro\appendix{\let\section\[email protected]} 
\makeatother 

\begin{document} 

\tableofcontents 

\section{goo} 
\label{a} 
This is sec~\ref{a} 

\section{har} 
\label{b} 
This is sec~\ref{b} 

\appendix 
\section{ji} 
\label{c} 
This is app~\ref{c} 
\subsection{me} 
does this look right? 

\end{document} 
+0

'\ asbuk'で' fontspec'を使ってそのハックを使う方法は?私はロシアの付録番号が必要です。 – Adobe

+0

Adob​​e、ここにコードを貼り付けることはできません。私は別の答えで自分のソリューションを投稿しました。これがあなたを助けることを願っています。 –

+0

これは魔法のように機能します!しかし、私は奇妙な副作用を得る:参照(あなたがそれらを追加した場合)は、新しいセクションAppndix B *に変換されます。どのようにそれを取り除くための任意のアイデア? – Ufos

5

任意のマークアップを変更することなく動作しますが、私は次のようでした:

\appendix 
\addcontentsline{toc}{section}{Appendix~\ref{app:scripts}: Training Scripts} 
\section*{Sample Training Scripts 
\label{app:scripts} 
Blah blah appendix content blah blah blah. 

を私は手動にラインを追加しましたTOCので、私は "付録X:..."が私のTOCに表示されます。次に、アスタリスクを使用してTOCから実際のセクションコマンドを除外しました。

1

付録のパッケージは本当に良いと簡単な解決策です。私の答えは、キリル文字のアルファベットやローマ数字などを使って、番号の付いた章を変更したい人に役立ちます。付録の番号付け様式は\ @ resets @ ppコマンドでハードコードされています(私はここでソースを調べましたhttp://hal.in2p3.fr/docs/00/31/90/21/TEX/appendix.sty)。私はこのコマンドを自分のものに単純に再定義することで解決しました。ちょうどあなたのプリアンブルにこのコードを追加します。その結果

\makeatletter 

    \renewcommand{\@[email protected]}{\par 
     \@ppsavesec 
     \stepcounter{@pps} 
     \setcounter{section}{0} 

     \[email protected]@pp 
      \setcounter{chapter}{0} 
      \renewcommand\@chapapp{\appendixname} 
      \gdef\thechapter{\Asbuk{chapter}} % changed 
     \else 
      \setcounter{subsection}{0} 
      \gdef\thechapter{\Asbuk{section}} % changed 
     \fi 

     \[email protected] 
      \[email protected]@pp 
       \renewcommand{\theHchapter}{\[email protected]\Asbuk{chapter}} % changed 
      \else 
       \renewcommand{\theHsection}{\[email protected]\Asbuk{section}} % changed 
      \fi 

      \def\[email protected]{\appendixname}% 
     \fi 
    \restoreapp 
} 

\makeatother 

Appendix A 
Appendix B 
Appendix C 
... 

Appendix A 
Appendix Б 
Appendix В 
... etc 

に変更されます私は、ラテックス専門家ではない、と私は保証することはできませんこのコードは他の何かを壊すことはありません。

0

@Will Robertsonの答えに基づいて、以下のコードは同じことを定義していますが、がfancyhdrパッケージを使用しているときには追加されないという事実を修正しています。

このプレリリース版では、すべての問題が解決されています。

\makeatletter 
\newcommand\[email protected][1]{% 
    \refstepcounter{chapter}% 
    \def\[email protected]{Appendix \@Alph\[email protected]: #1} 
    \[email protected]*{\[email protected]}% 
    \markboth{\MakeUppercase{\[email protected]}}{\MakeUppercase{\[email protected]}} 
    \addcontentsline{toc}{chapter}{\[email protected]}% 
} 
\let\[email protected]\chapter 
\[email protected]@macro\appendix{\let\chapter\[email protected]} 
\makeatother 
関連する問題