├── README.org ├── Mismatch.eps ├── NTU_new_logo.eps ├── bm3-reference.tex ├── main_thesis.pdf ├── format-main-body.tex ├── fm1-cover.tex ├── bm2-publication.tex ├── fm3-ack.tex ├── ch2-body.tex ├── fm5-notation.tex ├── fm4-abbrev.tex ├── bm1-appendix.tex ├── ch3-conclu.tex ├── fm2-abstract.tex ├── ch3-body.tex ├── .gitignore ├── main_thesis.tex ├── setting.tex ├── book.sty ├── fancyheadings.sty ├── ch1-intro.tex ├── xiao_macro.bib ├── cite.sty ├── fancyhdr.sty ├── xiao.bib └── subfigure.sty /README.org: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Mismatch.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cafe/thesis/master/Mismatch.eps -------------------------------------------------------------------------------- /NTU_new_logo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cafe/thesis/master/NTU_new_logo.eps -------------------------------------------------------------------------------- /bm3-reference.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cafe/thesis/master/bm3-reference.tex -------------------------------------------------------------------------------- /main_thesis.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cafe/thesis/master/main_thesis.pdf -------------------------------------------------------------------------------- /format-main-body.tex: -------------------------------------------------------------------------------- 1 | \addtolength{\headheight}{3pt} \pagestyle{fancy} 2 | \setlength{\headrulewidth}{0.1pt} 3 | \renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter. #1}{}} 4 | \lhead{\fancyplain{}{\bfseries\footnotesize\sc\leftmark}} \rhead{} 5 | \addtolength{\headsep}{-0.1in} 6 | \cfoot{\fancyplain{}{\bfseries\rm\thepage}} 7 | \pagenumbering {arabic} % Use arabic number for the page number of main body 8 | -------------------------------------------------------------------------------- /fm1-cover.tex: -------------------------------------------------------------------------------- 1 | 2 | \title{\sc 3 | \vspace{-0.5in} Speech Enhancement with Applications in 4 | Speech Recognition \\ 5 | \vspace*{0.3in} \centering 6 | \resizebox*{0.5\textwidth}{!}{\includegraphics{NTU_new_logo.eps}}\\[1em]} 7 | 8 | \author{ 9 | School of Mechanical and Aerospace Engineering\\ 10 | \\ 11 | \\[1em] 12 | by\\[1em] 13 | {\rm\bf CHEN YONG}\\[1.5em] 14 | A thesis submitted to the Nanyang Technological University\\ 15 | in partial fulfilment of the requirement for the degree of 16 | Doctor of Philosophy\\[1.5em] 17 | } 18 | 19 | \date{\today} 20 | \maketitle 21 | \thispagestyle{empty} % no page number on this front cover page -------------------------------------------------------------------------------- /bm2-publication.tex: -------------------------------------------------------------------------------- 1 | \chapter* {Publication} 2 | \addcontentsline{toc}{chapter}{\numberline{}\hspace{-0.24in}{\bf 3 | Publication}} 4 | 5 | \begin{enumerate} 6 | \item Xiong Xiao, Haizhou Li and Eng Siong Chng, ``Vector 7 | Autoregressive Model for Missing Feature Reconstruction'', accepted 8 | by International Symposium on Chinese Spoken Language Processing 9 | 2006. 10 | \item Xiong Xiao, Eng Siong Chng and Haizhou Li, ``Temporal 11 | Structure Normalization of Speech Feature for Robust Speech 12 | Recognition'', accepted by to IEEE Signal Processing Letters. 13 | \item Xiong Xiao, Eng Siong Chng and Haizhou Li, ``Normalizing 14 | the Speech Modulation Spectrum for Robust Speech 15 | Recognition'', submitted to IEEE International Conference on Acoustics, 16 | Speech and Signal Processing 2007. 17 | \end{enumerate} 18 | -------------------------------------------------------------------------------- /fm3-ack.tex: -------------------------------------------------------------------------------- 1 | \chapter* {Acknowledgments} 2 | \addcontentsline{toc}{section}{\numberline{}\hspace{-.35in}{\bf 3 | Acknowledgments}} 4 | 5 | I would like to express my sincere thanks and appreciation to my 6 | supervisor, Dr. Chng Eng Siong (NTU), and co-supervisor, Dr. Li 7 | Haizhou (I$^2$R) for their invaluable guidance, support and 8 | suggestions. Their knowledge, suggestions, and discussions help me 9 | to become a capable researcher. Their encouragement also helps me to 10 | overcome the difficulties encountered in my research. 11 | 12 | I also want to thank my colleagues in Speech and Dialogue Processing 13 | lab of $\textrm{I}^2\textrm{R}$, for their generous help. I want to 14 | thank Ma Bin for his explanation of the HMM, which saved me a lot of 15 | time, and Shuanghu, for his generous help on my experiments on 16 | speech recognition. I also want to thank George White for helping me 17 | adapt the speech recognition engine. My gratitude also goes to Swee 18 | Lan, Yeow Kee, Tong Rong, Hendra, Tin Lay, Chen Yu and Boon Pang for 19 | their friendship and support. 20 | 21 | I am very grateful to the members of our speech team in NTU. It is a 22 | pleasure to collaborate with my team mates, Wang Lei, Haishan and 23 | Chin Wei. 24 | 25 | I am also indebted to my senior graduate fellow Wang Jinjun, for his 26 | technical and personal suggestions, especially for his help on HTK 27 | training. 28 | 29 | Last but not least, I want to thank my family in China, for their 30 | constant love and encouragement. 31 | -------------------------------------------------------------------------------- /ch2-body.tex: -------------------------------------------------------------------------------- 1 | %--------------------------------------------------------------------------------- 2 | \chapter{Current Techniques on Noise Robust ASR} 3 | \label{chap:current_tech} 4 | %--------------------------------------------------------------------------------- 5 | 6 | An example to use eps figure: 7 | 8 | In this section, we review the existing techniques for noise robust 9 | speech recognition in three groups, namely the speech enhancement 10 | techniques in signal space, the feature compensation techniques in 11 | feature space and the the model adaptation techniques in model space 12 | (see Figure \ref{fig:ch2:mismatch}). In signal space speech 13 | enhancement techniques, the idea is to enhance the noisy signal 14 | prior to the feature extraction using enhancement techniques such as 15 | Wiener filter and spectra subtraction. In feature 16 | space enhancement techniques, the noisy features are transformed to 17 | clean features through the reverse transform of $D_2$ aims to bring 18 | noisy feature statistics closer to the clean features to match 19 | feature to trained model. In the model space enhancement techniques, 20 | the idea is to adapt the clean trained models to better represents 21 | the noisy features. 22 | 23 | 24 | % An example to include eps figure 25 | 26 | \begin{figure} 27 | \centerline{ 28 | \includegraphics[scale=0.8]{mismatch.eps}} 29 | \vspace*{-2ex} \caption[The acoustic mismatches in signal, feature 30 | and model spaces]{The acoustic mismatches in signal, feature and 31 | model spaces (adapted from \cite{Lee98Review}).} 32 | \label{fig:ch2:mismatch} 33 | \end{figure} 34 | -------------------------------------------------------------------------------- /fm5-notation.tex: -------------------------------------------------------------------------------- 1 | \chapter* {List of Notation} 2 | \addcontentsline{toc}{section}{\numberline{}\hspace{-.35in}{\bf List 3 | of Notation}} 4 | 5 | \begin{tabular}{p{100pt}p{300pt}} 6 | $\ast$ & Convolution\\ 7 | $\otimes$ & Kronecker product\\ 8 | $(\cdot)^T$ & Matrix or vector transpose\\ 9 | $\bullet$ & Elementary multiplication\\ 10 | $\textrm{diag}(\textbf{x})$ & Make a diagonal matrix whose diagonal elements are the elements of vector \textbf{x}\\ 11 | $||\textbf{x}-\textbf{y}||^2$ & Euclidian distance between \textbf{x} and \textbf{y}\\ 12 | $|X|$ & Determinant of matrix $X$\\ 13 | $\textbf{x}\bullet\textbf{y}$ & Element-wise multiplication of \textbf{x} and \textbf{y}\\ 14 | $\textbf{x}\bullet/\textbf{y}$ & Element-wise division of \textbf{x} by \textbf{y}\\ 15 | \end{tabular} 16 | %\addnotation \ast: {Convolution}{ast}\\ 17 | %\addnotation \otimes: {Kronecker product}{otimes}\\ 18 | %\addnotation (\cdot)^T: {Matrix or vector transpose}{transpose}\\ 19 | %\addnotation \bullet: {Elementary multiplication}{bullet}\\ 20 | %\addnotation \textrm{diag}(\textbf{x}): {Make a diagonal matrix whose diagonal elements are the elements of vector \textbf{x}}{diag}\\ 21 | %\addnotation ||\textbf{x}-\textbf{y}||^2: {Euclidian distance between \textbf{x} and \textbf{y}}{Euclidian}\\ 22 | %\addnotation |X|: {Determinant of matrix $X$}{determinant}\\ 23 | %\addnotation \textbf{x}\bullet\textbf{y}: {Element-wise multiplication of \textbf{x} and \textbf{y}}{element_multi}\\ 24 | %\addnotation \textbf{x}\bullet/\textbf{y}: {Element-wise division of \textbf{x} by \textbf{y}}{element_divide}\\ 25 | -------------------------------------------------------------------------------- /fm4-abbrev.tex: -------------------------------------------------------------------------------- 1 | \chapter* {List of Abbreviation} 2 | \addcontentsline{toc}{section}{\numberline{}\hspace{-.35in}{\bf List 3 | of Abbreviations}} 4 | 5 | \begin{tabular}{p{100pt}l} 6 | % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ... 7 | ASR & Automatic Speech Recognition \\ 8 | BPC & Bayesian Predictive Classification\\ 9 | CASA & Computational Acoustic Scene Analysis\\ 10 | CDCN & Codeword-Dependent Cepstral Normalization\\ 11 | CMN & Cepstral Mean Normalization\\ 12 | CMU & Carnegie Mellon University\\ 13 | CVN & Cepstral Variance Normalization\\ 14 | DCT & Discrete Cosine Transform\\ 15 | DFT & Discrete Fourier Transform\\ 16 | EM & Expectation Maximization\\ 17 | FFT & Fast Fourier Transform\\ 18 | GMM & Gaussian Mixture Model\\ 19 | HMM & Hidden Markov Model\\ 20 | IDCT & Inverse Discrete Cosine Transform\\ 21 | KLT & Karhunen-Lo\`{e}ve Transform\\ 22 | LPC & Linear Predictive Coefficients\\ 23 | MAP & Maximum \emph{a posteriori}\\ 24 | MFCC & Mel-Filterbank Cepstral Coefficient\\ 25 | MFT & Missing Feature Theory\\ 26 | ML & Maximum Likelihood\\ 27 | MLLR & Maximum Likelihood Linear Regression\\ 28 | MMSE & Minimum Mean Square Error\\ 29 | PMC & Parallel Model Combination\\ 30 | RATZ & multivaRiate aAussian-based cepsTral normaliZation\\ 31 | SAP & Signal Absence Probability\\ 32 | SNR & Signal to Noise Ratio\\ 33 | STAR & STAtistical Reestimation\\ 34 | STSA & Short-Time Spectral Amplitude\\ 35 | SVD & Singular Value Decomposition\\ 36 | VQ & Vector Quantization\\ 37 | VTLN & Vocal Tract Length Normalization\\ 38 | \end{tabular} 39 | -------------------------------------------------------------------------------- /bm1-appendix.tex: -------------------------------------------------------------------------------- 1 | %--------------------------------------------------------------------------------- 2 | \chapter{Appendix} 3 | \label{chap:Appendix} 4 | %--------------------------------------------------------------------------------- 5 | \section{Kronecker Product}\label{appen:Kronecker} 6 | The Kronecker product is also called matrix direct product and is 7 | usually represented as $\otimes$. For example, the Kronecker product 8 | a $2\times2$ matrix $A$ and a $3\times2$ matrix $B$ is define as 9 | \begin{eqnarray}\label{Kronecker} 10 | A\otimes B &=& \left(% 11 | \begin{array}{cc} 12 | a_{11}B & a_{12}B \\ 13 | a_{21}B & a_{22}B \\ 14 | \end{array}% 15 | \right)\nonumber\\ 16 | &=&\left(% 17 | \begin{array}{cccc} 18 | a_{11}b_{11} & a_{11}b_{12} & a_{12}b_{11} & a_{12}b_{12} \\ 19 | a_{11}b_{21} & a_{11}b_{22} & a_{12}b_{21} & a_{12}b_{22} \\ 20 | a_{11}b_{31} & a_{11}b_{32} & a_{12}b_{31} & a_{12}b_{32} \\ 21 | a_{21}b_{11} & a_{21}b_{12} & a_{22}b_{11} & a_{22}b_{12} \\ 22 | a_{21}b_{21} & a_{21}b_{22} & a_{22}b_{21} & a_{22}b_{22} \\ 23 | a_{21}b_{31} & a_{21}b_{31} & a_{22}b_{31} & a_{22}b_{32} \\ 24 | \end{array}% 25 | \right) 26 | \end{eqnarray} 27 | The result is a $6\times4$ matrix, where any elements from the $A$ 28 | is multiplied with any elements from $B$. For general case, the 29 | Kronecker product of a $M\times N$ matrix $A$ and a $P\times Q$ 30 | matrix $B$, the resulting matrix is $MP\times NQ$, and the elements 31 | of the resulting matrix is defined as 32 | \begin{equation}\label{Kronecker2} 33 | c_{\alpha,\beta}=a_{ij}b_{kl} 34 | \end{equation} 35 | where 36 | \begin{eqnarray} 37 | % \nonumber to remove numbering (before each equation) 38 | \alpha &=& P(i-1)+k \\ 39 | \beta &=& Q(j-1)+l 40 | \end{eqnarray} 41 | -------------------------------------------------------------------------------- /ch3-conclu.tex: -------------------------------------------------------------------------------- 1 | %--------------------------------------------------------------------------------- 2 | \chapter{Conclusions and Future Work } 3 | %--------------------------------------------------------------------------------- 4 | 5 | \section{Conclusions} 6 | In this report, we first reviewed the mismatch problem of the 7 | statistical speech recognition due to acoustic environment change 8 | and current techniques addressing it. Then the missing feature 9 | technique is discussed in detail. To effectively utilize the 10 | inter-frame information of the speech spectrogram, we proposed to 11 | use the vector autoregressive model for the modeling of speech 12 | spectral vectors in the log Mel filterbank domain. Further more, a 13 | feature compensation technique is proposed based on this model 14 | together with the missing feature theory. The simulation results 15 | using oracle data mask showed the effectiveness of the proposed 16 | feature compensation technique. Specifically, we compare Raj's 17 | MFT-based cluster-based feature compensation technique \cite{Raj04} 18 | with our approach . The results show that the two methods are 19 | comparable if clean training is used, and much better with our 20 | approach when noisy training scheme is used with preprocessing. 21 | 22 | In brief, our proposed framework has two novelties. First, we use 23 | the vector autoregressive model in the modeling of speech feature 24 | vectors. Although VAR is used in \cite{Kenny90VAR} for the 25 | derivation of the state-dependent probability of the HMM, it has not 26 | been used in the feature compensation area to our best knowledge. 27 | Second novelty is the use of the noisy training scheme with 28 | preprocessing to minimize the mismatches between the training and 29 | testing environment. 30 | 31 | The potential of the proposed VAR based approach is not fully 32 | exploited yet. We believe that further research in this filed will 33 | yield fruitful result. Several directions are discussed in the next 34 | section. 35 | -------------------------------------------------------------------------------- /fm2-abstract.tex: -------------------------------------------------------------------------------- 1 | \chapter* {Abstract} 2 | \addcontentsline{toc}{section}{\numberline{}\hspace{-0.35in}{\bf 3 | Abstract}} % Add the Abstract to the table of contents using the specified format 4 | 5 | %Objective 6 | The objective of this research is to develop feature compensation 7 | techniques to make automatic speech recognition (ASR) systems more 8 | robust to noise distortions. 9 | %Importance 10 | The research is important as the performance of ASR systems degrades 11 | dramatically in adverse environments, and hence greatly limits the 12 | speech recognition application deployment. 13 | %Aim 14 | In this report, we aim to build a generic framework for feature 15 | compensation to improve speech recognition accuracy by making speech 16 | features less affected by noises. 17 | 18 | %Introduce my approach 19 | The degradation of ASR systems under noisy conditions is due to the 20 | mismatch between the clean-trained acoustical models and noisy 21 | testing speech features presented to the speech recognition engine. 22 | Currently, two general approaches are proposed to reduce this 23 | mismatch. The first is to adapt the acoustical model to the noisy 24 | testing feature, the other is to compensate the noisy testing 25 | feature prior to the recognition. We review existing techniques for 26 | noise robust speech recognition and find that these techniques 27 | generally ignore inter-frame information of the speech signal. We 28 | however believe that inter-frame statistics can contribute to noisy 29 | speech features compensation and hence propose a vector 30 | autoregressive (VAR) model to model speech feature vectors for 31 | speech feature reconstruction by either past or future frames 32 | prediction. We propose two feature compensation schemes based on the 33 | VAR model and the missing feature theory (MFT). Experiments are 34 | carried out using the ground-truth data mask on the AURORA-2 35 | database, and our results show significant improvement to 36 | recognition accuracy. Specifically, our experimental results showed 37 | a relative error rate reductions of 86.51\% and 93.9\% with respect 38 | to the baseline for the subway noise case of test set A and 39 | restaurant noise case of test set B at signal to noise ratio equals 40 | to -5dB. 41 | 42 | %Future direction 43 | The proposed VAR modeling framework is a promising research 44 | direction and we will conduct further research to exploit the full 45 | potential of this technique. 46 | -------------------------------------------------------------------------------- /ch3-body.tex: -------------------------------------------------------------------------------- 1 | %--------------------------------------------------------------------------------- 2 | \chapter{Current Techniques on Noise Robust ASR} 3 | \label{chap:turning} 4 | %--------------------------------------------------------------------------------- 5 | Safety and efficiency are two major issues when it comes to vehicle driving and operating, particularly those with relatively large lateral and longitudinal sizes. When performing path planning for vehicles with nonholonomic constraints, we have to consider not only the environment involving obstacles but also the constraints of the vehicle itself. Considering heavy vehicles in a construction site, they have limited maneuverability with a maximum steering angle and are usually maneuvered at a considerably slow speed. To simplify the analysis, the vehicle is supposed to move at a constant speed without slipping thus the mechanical constraints of the vehicle impose a maximum curvature constraint on the reference path. Also, a desired path should have $G^2$ continuity, i.e., the curve of the path is supposed to have continuous curvature profile to ensure a smooth steering behavior. With respect to a static environment containing narrow corridors, a feasible path should be safe in the sense of maximizing the obstacle clearance while satisfying the above constraints. In this chapter, a new path planning framework for nonholonomic vehicles is proposed to generate a $G^2$ smooth path with maximum curvature constraint focusing on vehicle driving in a static environment with narrow corridors. 6 | 7 | We start with point cloud representation of the environment and obtain a PRM-like map \cite{kavraki1996probabilistic} with skeleton algorithm \cite{?} 8 | 9 | 10 | 11 | In this chapter, a new path planning framework for nonholonomic vehicles is proposed to generate a smooth path with maximum curvature constraint. 12 | long This chapter discusses a path calculation method for long vehicle turning, based on a set of 13 | differential equations. The solution can be numerically obtained for any trajectory 14 | under different circumstances. We develop a generalized and systematic mathematical approach to determine the trajectories swept by each wheel and other 15 | related components of the vehicle. The envelope of the trajectories of the vehicle 16 | can then be derived according to geometric relationships and characteristics. Based 17 | on numerical analysis results, a 3D simulation is developed in this work for 18 | different types of long vehicles along with different given turning roads surrounded 19 | by buildings and other objects. This way we are able to do trajectory planning for 20 | long vehicle turning. 21 | 22 | 23 | % An example to include eps figure 24 | 25 | \begin{figure} 26 | \centerline{ 27 | \includegraphics[scale=0.8]{mismatch.eps}} 28 | \vspace*{-2ex} \caption[The acoustic mismatches in signal, feature 29 | and model spaces]{The acoustic mismatches in signal, feature and 30 | model spaces (adapted from \cite{Lee98Review}).} 31 | \label{fig:ch2:mismatch} 32 | \end{figure} 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Core latex/pdflatex auxiliary files: 2 | *.aux 3 | *.lof 4 | *.log 5 | *.lot 6 | *.fls 7 | *.out 8 | *.toc 9 | *.fmt 10 | *.fot 11 | *.cb 12 | *.cb2 13 | 14 | ## Intermediate documents: 15 | *.dvi 16 | *-converted-to.* 17 | # these rules might exclude image files for figures etc. 18 | # *.ps 19 | # *.eps 20 | # *.pdf 21 | 22 | ## Generated if empty string is given at "Please type another file name for output:" 23 | .pdf 24 | 25 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 26 | *.bbl 27 | *.bcf 28 | *.blg 29 | *-blx.aux 30 | *-blx.bib 31 | *.brf 32 | *.run.xml 33 | 34 | ## Build tool auxiliary files: 35 | *.fdb_latexmk 36 | *.synctex 37 | *.synctex(busy) 38 | *.synctex.gz 39 | *.synctex.gz(busy) 40 | *.pdfsync 41 | 42 | ## Auxiliary and intermediate files from other packages: 43 | # algorithms 44 | *.alg 45 | *.loa 46 | 47 | # achemso 48 | acs-*.bib 49 | 50 | # amsthm 51 | *.thm 52 | 53 | # beamer 54 | *.nav 55 | *.snm 56 | *.vrb 57 | 58 | # cprotect 59 | *.cpt 60 | 61 | # fixme 62 | *.lox 63 | 64 | #(r)(e)ledmac/(r)(e)ledpar 65 | *.end 66 | *.?end 67 | *.[1-9] 68 | *.[1-9][0-9] 69 | *.[1-9][0-9][0-9] 70 | *.[1-9]R 71 | *.[1-9][0-9]R 72 | *.[1-9][0-9][0-9]R 73 | *.eledsec[1-9] 74 | *.eledsec[1-9]R 75 | *.eledsec[1-9][0-9] 76 | *.eledsec[1-9][0-9]R 77 | *.eledsec[1-9][0-9][0-9] 78 | *.eledsec[1-9][0-9][0-9]R 79 | 80 | # glossaries 81 | *.acn 82 | *.acr 83 | *.glg 84 | *.glo 85 | *.gls 86 | *.glsdefs 87 | 88 | # gnuplottex 89 | *-gnuplottex-* 90 | 91 | # gregoriotex 92 | *.gaux 93 | *.gtex 94 | 95 | # hyperref 96 | *.brf 97 | 98 | # knitr 99 | *-concordance.tex 100 | # TODO Comment the next line if you want to keep your tikz graphics files 101 | *.tikz 102 | *-tikzDictionary 103 | 104 | # listings 105 | *.lol 106 | 107 | # makeidx 108 | *.idx 109 | *.ilg 110 | *.ind 111 | *.ist 112 | 113 | # minitoc 114 | *.maf 115 | *.mlf 116 | *.mlt 117 | *.mtc 118 | *.mtc[0-9] 119 | *.mtc[1-9][0-9] 120 | 121 | # minted 122 | _minted* 123 | *.pyg 124 | 125 | # morewrites 126 | *.mw 127 | 128 | # mylatexformat 129 | *.fmt 130 | 131 | # nomencl 132 | *.nlo 133 | 134 | # sagetex 135 | *.sagetex.sage 136 | *.sagetex.py 137 | *.sagetex.scmd 138 | 139 | # scrwfile 140 | *.wrt 141 | 142 | # sympy 143 | *.sout 144 | *.sympy 145 | sympy-plots-for-*.tex/ 146 | 147 | # pdfcomment 148 | *.upa 149 | *.upb 150 | 151 | # pythontex 152 | *.pytxcode 153 | pythontex-files-*/ 154 | 155 | # thmtools 156 | *.loe 157 | 158 | # TikZ & PGF 159 | *.dpth 160 | *.md5 161 | *.auxlock 162 | 163 | # todonotes 164 | *.tdo 165 | 166 | # easy-todo 167 | *.lod 168 | 169 | # xindy 170 | *.xdy 171 | 172 | # xypic precompiled matrices 173 | *.xyc 174 | 175 | # endfloat 176 | *.ttt 177 | *.fff 178 | 179 | # Latexian 180 | TSWLatexianTemp* 181 | 182 | ## Editors: 183 | # WinEdt 184 | *.bak 185 | *.sav 186 | 187 | # Texpad 188 | .texpadtmp 189 | 190 | # Kile 191 | *.backup 192 | 193 | # KBibTeX 194 | *~[0-9]* 195 | 196 | # auto folder when using emacs and auctex 197 | /auto/* 198 | -------------------------------------------------------------------------------- /main_thesis.tex: -------------------------------------------------------------------------------- 1 | % ------------------------------------------------------------ 2 | % This is a template for technical reports 3 | % The Main_thesis.txt is the master control file. It is like the 4 | % main function in a C code. Here we use it to load individual chapters. 5 | 6 | % Author: Xiao Xiong, NTU, Singapore 7 | % Date: Oct, 2006 8 | % ------------------------------------------------------------ 9 | 10 | 11 | \input{setting} % Input Global settings 12 | 13 | 14 | 15 | 16 | \begin{document} % Start of the text 17 | 18 | 19 | 20 | % -------------------------------------------------------------------------------- % 21 | % --------------------------- Part I. Front Matters ------------------------------ % 22 | % -------------------------------------------------------------------------------- % 23 | \input{fm1-cover.tex} % Input the Cover page 24 | 25 | \setlength{\baselineskip}{20pt plus 1pt minus 1pt} % Use 1-1/2 spacing for whole document 26 | \pagenumbering{roman} % Use small roman digits for the page number of front matters 27 | 28 | \input{fm2-abstract.tex} % Input the abstract and acknowledgement 29 | \input{fm3-ack.tex} 30 | 31 | \setcounter{secnumdepth}{3} % section numbering depth 32 | \setcounter{tocdepth}{2} % count to the depth of sections 33 | \tableofcontents % table of contents appears here 34 | 35 | \newpage 36 | \addcontentsline{toc}{section}{\numberline{}\hspace{-.35in}{\bf List of Figures}} 37 | \listoffigures % list of figures appears here 38 | 39 | \newpage 40 | \addcontentsline{toc}{section}{\numberline{}\hspace{-.35in}{\bf List of Tables}} 41 | \listoftables % list of tables appears here 42 | 43 | \input{fm4-abbrev.tex} % Input the list of abbreviations and notations 44 | \input{fm5-notation} 45 | 46 | 47 | 48 | 49 | 50 | % -------------------------------------------------------------------------------- % 51 | % --------------------------- Part II. The Body ---- ---------------------------- % 52 | % -------------------------------------------------------------------------------- % 53 | \input{format-main-body} % Input the formating 54 | \include{ch1-intro} % Include the chapters 55 | \include{ch2-body} 56 | \include{ch3-body} 57 | \include{ch3-conclu} 58 | 59 | 60 | 61 | 62 | 63 | % -------------------------------------------------------------------------------- % 64 | % --------------------------- Part III. The Back Matters ------------------------- % 65 | % -------------------------------------------------------------------------------- % 66 | \appendix 67 | \include{bm1-appendix} % Appendix and Publications 68 | \include{bm2-publication} 69 | 70 | % Include the references 71 | \newpage 72 | \addcontentsline{toc}{chapter}{References} 73 | \bibliographystyle{ieeetran} % Use the IEEE bibiography style 74 | \bibliography{IEEEabrv,C:/home/dropbox/bibliography/references} % Include the BibTex files 75 | 76 | 77 | 78 | 79 | 80 | \end{document} % End of the text 81 | 82 | 83 | 84 | % ------------------ 85 | % End of the File 86 | % ------------------ 87 | -------------------------------------------------------------------------------- /setting.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------- 2 | % File PpHd.tex 3 | % Author Ong Kok Leong 4 | % Description preamble: the global settings 5 | %----------------------------------------------------------------------------- 6 | 7 | % 1. Define your report format here 8 | \documentclass[12pt,a4paper,twoside]{report} 9 | 10 | % 2. Specify the packages to be included 11 | \usepackage{subfigure,amssymb,amsmath,epsfig,fancyheadings,citesort,epstopdf} 12 | 13 | \oddsidemargin +0.10in % 14 | \evensidemargin +0.00in % 15 | \topmargin +0.15in % 16 | \textheight +8.50in % 17 | \textwidth +6.25in % 18 | 19 | \pagestyle{plain} 20 | 21 | \font\Bold=cmbx10 scaled \magstep3 22 | \def\EndOfProof{\nolinebreak\ \hfill\rule{1.5mm}{2.7mm}} 23 | \def\endOfProof{\ \hfill\rule{1.5mm}{2.7mm}} 24 | 25 | \def\proof{\noindent \textbf{Proof:}\quad} 26 | 27 | %\renewcommand{\theequation}{\mbox{\rm Eq.\ \thechapter.\arabic{equation}}} 28 | 29 | \newcounter{theorem} 30 | \newtheorem{theorem}{Theorem} 31 | \renewcommand{\thetheorem}{\thechapter.\arabic{theorem}} 32 | 33 | \newcounter{lemma} 34 | \newtheorem{lemma}{Lemma} 35 | \renewcommand{\thelemma}{\thechapter.\arabic{lemma}} 36 | 37 | \newcounter{corollary} 38 | \newtheorem{corollary}{Corollary} 39 | \renewcommand{\thecorollary}{\thechapter.\arabic{corollary}} 40 | 41 | \newcounter{definition} 42 | \newtheorem{definition}{Definition} 43 | \renewcommand{\thedefinition}{\thechapter.\arabic{definition}} 44 | 45 | \newcounter{algo} 46 | \newtheorem{algo}{Algorithm} 47 | \renewcommand{\thealgo}{\thechapter.\arabic{algo}} 48 | 49 | \renewcommand{\thefigure}{\thechapter.\arabic{figure}} 50 | \renewcommand{\thesubfigure}{\thefigure.\alph{subfigure}} 51 | \makeatletter 52 | \renewcommand{\@thesubfigure}{\thesubfigure:\space} 53 | \renewcommand{\p@subfigure}{} 54 | 55 | \def\LEQ.#1.#2.#3{#1\!\leqslant\!#2\!\leqslant\!#3} 56 | \def\GEQ.#1.#2.#3{#1\!\geqslant\!#2\!\geqslant\!#3} 57 | \def\emptyset{\varnothing} 58 | \renewcommand{\theenumi}{\rm \roman{enumi}} 59 | \renewcommand{\labelenumi}{\rm (\theenumi)} 60 | \renewcommand{\theenumii}{\rm \alph{enumii}} 61 | \renewcommand{\labelenumii}{\rm (\theenumii)} 62 | 63 | \renewcommand{\topfraction}{0.75} 64 | \renewcommand{\bottomfraction}{0.75} 65 | \renewcommand{\textfraction}{0.10} 66 | 67 | % 68 | % Report specific definitions 69 | % 70 | 71 | % 72 | % Definition in the context of this report. 73 | % 74 | \def\reporttitle {An Algorithmic Framework for Web Data Mining} 75 | \def\supp {\varphi} 76 | \def\psupp {\varphi^{\mathcal{P}}} 77 | \def\conf {\delta} 78 | \def\pconf {\delta^{\mathcal{P}}} 79 | \def\tab {\hspace{0.8cm}} 80 | 81 | % 82 | % Define the set of symbols for the constraint set. 83 | % 84 | \def\map {\Pi} 85 | \def\gen {\Upsilon} 86 | \def\prune {\Phi} 87 | \def\selcand {\Psi} 88 | \def\compute {\Theta} 89 | \def\check {\Omega} 90 | 91 | % 92 | % The set of operators 93 | % 94 | \def\select {\sigma} 95 | \def\proj {\pi} 96 | \def\join {\bowtie} 97 | \def\apply {\mu} 98 | \def\undo {\eta} 99 | \def\rename {\leftarrow} 100 | 101 | \def\linespaceNormal {\baselineskip=24pt} 102 | \def\linespaceTight {\baselineskip=21pt} 103 | \def\linespaceVeryTight {\baselineskip=19pt} 104 | 105 | \renewcommand{\bibname}{References} 106 | 107 | % Define some new macros 108 | %\def\addnotation #1: #2#3{$#1$\indent \parbox{5in}{#2 \dotfill \pageref{#3}}} 109 | \def\addnotation #1: #2#3{$#1$ & #2 & \pageref{#3}} 110 | \def\newnot#1{\label{#1}} 111 | -------------------------------------------------------------------------------- /book.sty: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `book.sty', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% latex209.dtx (with options: `book') 8 | %% 9 | %% This is a generated file. 10 | %% 11 | %% Copyright 1993 1994 1995 1996 1997 12 | %% The LaTeX3 Project and any individual authors listed elsewhere 13 | %% in this file. 14 | %% 15 | %% For further copyright information, and conditions for modification 16 | %% and distribution, see the file legal.txt, and any other copyright 17 | %% notices in this file. 18 | %% 19 | %% This file is part of the LaTeX2e system. 20 | %% ---------------------------------------- 21 | %% This system is distributed in the hope that it will be useful, 22 | %% but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 24 | %% 25 | %% For error reports concerning UNCHANGED versions of this file no 26 | %% more than one year old, see bugs.txt. 27 | %% 28 | %% Please do not request updates from us directly. Primary 29 | %% distribution is through the CTAN archives. 30 | %% 31 | %% 32 | %% IMPORTANT COPYRIGHT NOTICE: 33 | %% 34 | %% You are NOT ALLOWED to distribute this file alone. 35 | %% 36 | %% You are allowed to distribute this file under the condition that it 37 | %% is distributed together with all the files listed in manifest.txt. 38 | %% 39 | %% If you receive only some of these files from someone, complain! 40 | %% 41 | %% 42 | %% Permission is granted to copy this file to another file with a 43 | %% clearly different name and to customize the declarations in that 44 | %% copy to serve the needs of your installation, provided that you 45 | %% comply with the conditions in the file legal.txt. 46 | %% 47 | %% However, NO PERMISSION is granted to generate or to distribute a 48 | %% modified version of this file under its original name. 49 | %% 50 | %% You are NOT ALLOWED to change this file. 51 | %% 52 | %% 53 | %% MODIFICATION ADVICE: 54 | %% 55 | %% If you want to customize this file, it is best to make a copy of 56 | %% the source file(s) from which it was produced. Use a different 57 | %% name for your copy(ies) and modify the copy(ies); this will ensure 58 | %% that your modifications do not get overwritten when you install a 59 | %% new release of the standard system. You should also ensure that 60 | %% your modified source file does not generate any modified file with 61 | %% the same name as a standard file. 62 | %% 63 | %% You can then easily distribute your modifications by distributing 64 | %% the modified and renamed copy of the source file, taking care to 65 | %% observe the conditions in legal.txt; this will ensure that other 66 | %% users can safely use your modifications. 67 | %% 68 | %% You will also need to produce your own, suitably named, .ins file to 69 | %% control the generation of files from your source file; this file 70 | %% should contain your own preambles for the files it generates, not 71 | %% those in the standard .ins files. 72 | %% 73 | %% The names of the source files used are shown above. 74 | %% 75 | %% 76 | %% 77 | %% \CharacterTable 78 | %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 79 | %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z 80 | %% Digits \0\1\2\3\4\5\6\7\8\9 81 | %% Exclamation \! Double quote \" Hash (number) \# 82 | %% Dollar \$ Percent \% Ampersand \& 83 | %% Acute accent \' Left paren \( Right paren \) 84 | %% Asterisk \* Plus \+ Comma \, 85 | %% Minus \- Point \. Solidus \/ 86 | %% Colon \: Semicolon \; Less than \< 87 | %% Equals \= Greater than \> Question mark \? 88 | %% Commercial at \@ Left bracket \[ Backslash \\ 89 | %% Right bracket \] Circumflex \^ Underscore \_ 90 | %% Grave accent \` Left brace \{ Vertical bar \| 91 | %% Right brace \} Tilde \~} 92 | \NeedsTeXFormat{LaTeX2e} 93 | \@obsoletefile{book.cls}{book.sty} 94 | \LoadClass{book} 95 | \endinput 96 | %% 97 | %% End of file `book.sty'. 98 | -------------------------------------------------------------------------------- /fancyheadings.sty: -------------------------------------------------------------------------------- 1 | % fancyheadings.sty version 1.92 2 | % Fancy headers and footers. 3 | % Piet van Oostrum, Dept of Computer Science, University of Utrecht 4 | % Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands 5 | % Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!sun4nl!ruuinf!piet) 6 | % Sep 16, 1994 7 | % version 1.4: Correction for use with \reversemargin 8 | % Sep 29, 1994: 9 | % version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands 10 | % Oct 4, 1994: 11 | % version 1.6: Reset single spacing in headers/footers for use with 12 | % setspace.sty or doublespace.sty 13 | % Oct 4, 1994: 14 | % version 1.7: changed \let\@mkboth\markboth to 15 | % \def\@mkboth{\protect\markboth} to make it more robust 16 | % Dec 5, 1994: 17 | % version 1.8: corrections for amsbook/amsart: define \@chapapp and (more 18 | % importantly) use the \chapter/sectionmark definitions from ps@headings if 19 | % they exist (which should be true for all standard classes). 20 | % May 31, 1995: 21 | % version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage... 22 | % construction in the doc did not work properly with the fancyplain style. 23 | % June 1, 1995: 24 | % version 1.91: The definition of \@mkboth wasn't restored on subsequent 25 | % \pagestyle{fancy}'s. 26 | % June 1, 1995: 27 | % version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain} 28 | % \pagestyle{fancy} would erroneously select the plain version. 29 | 30 | \def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} 31 | \def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} 32 | \def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} 33 | 34 | \def\chead{\@ifnextchar[{\@xchead}{\@ychead}} 35 | \def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} 36 | \def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} 37 | 38 | \def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} 39 | \def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} 40 | \def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} 41 | 42 | \def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} 43 | \def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} 44 | \def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} 45 | 46 | \def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} 47 | \def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} 48 | \def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} 49 | 50 | \def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} 51 | \def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} 52 | \def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} 53 | 54 | \newdimen\headrulewidth 55 | \newdimen\footrulewidth 56 | \newdimen\plainheadrulewidth 57 | \newdimen\plainfootrulewidth 58 | \newdimen\headwidth 59 | \newif\if@fancyplain 60 | \def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} 61 | 62 | % Command to reset various things in the headers: 63 | % a.o. single spacing (taken from setspace.sty) 64 | % and the catcode of ^^M (so that epsf files in the header work if a 65 | % verbatim crosses a page boundary) 66 | \def\fancy@reset{\restorecr 67 | \def\baselinestretch{1}% 68 | \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e 69 | \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% 70 | \else% NFSS (2.09) present 71 | \@newbaseline% 72 | \fi} 73 | 74 | % Initialization of the head and foot text. 75 | 76 | \headrulewidth 0.4pt \footrulewidth\z@ \plainheadrulewidth\z@ 77 | \plainfootrulewidth\z@ 78 | 79 | \lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} 80 | % i.e. empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages 81 | \chead{} 82 | \rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} 83 | % i.e. empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages 84 | \lfoot{} 85 | \cfoot{\rm\thepage} % page number 86 | \rfoot{} 87 | 88 | % Put together a header or footer given the left, center and 89 | % right text, fillers at left and right and a rule. 90 | % The \lap commands put the text into an hbox of zero size, 91 | % so overlapping text does not generate an errormessage. 92 | 93 | \def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox 94 | {\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill 95 | \parbox[b]{\headwidth}{\centering#3\strut}\hfill 96 | \llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} 97 | 98 | 99 | \def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule 100 | \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill 101 | \parbox[t]{\headwidth}{\centering#3\strut}\hfill 102 | \llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} 103 | 104 | \def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi 105 | \hrule\@height\headrulewidth\@width\headwidth 106 | \vskip-\headrulewidth}} 107 | 108 | \def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi 109 | \vskip-0.3\normalbaselineskip\vskip-\footrulewidth 110 | \hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}} 111 | 112 | \def\ps@fancy{% 113 | \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook 114 | \@ifundefined{chapter}{\def\sectionmark##1{\markboth 115 | {\uppercase{\ifnum \c@secnumdepth>\z@ 116 | \thesection\hskip 1em\relax \fi ##1}}{}}% 117 | \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne 118 | \thesubsection\hskip 1em\relax \fi ##1}}}% 119 | {\def\chaptermark##1{\markboth {\uppercase{\ifnum 120 | \c@secnumdepth>\m@ne 121 | \@chapapp\ \thechapter. \ \fi ##1}}{}} 122 | \def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ 123 | \thesection. \ \fi ##1}}}}% 124 | \csname ps@headings\endcsname % use \ps@headings defaults if they exist 125 | \ps@@fancy 126 | \gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}% 127 | \headwidth\textwidth} 128 | \def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} 129 | \def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} 130 | \def\ps@@fancy{% 131 | \def\@mkboth{\protect\markboth}% 132 | \def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd}% 133 | \def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd}% 134 | \def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd}% 135 | \def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd}% 136 | } 137 | \def\@lodd{\if@reversemargin\hss\else\relax\fi} 138 | \def\@rodd{\if@reversemargin\relax\else\hss\fi} 139 | 140 | \let\latex@makecol\@makecol 141 | \def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} 142 | \def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} 143 | \def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} 144 | \def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} 145 | -------------------------------------------------------------------------------- /ch1-intro.tex: -------------------------------------------------------------------------------- 1 | %--------------------------------------------------------------------------------- 2 | \chapter{Introduction} 3 | \label{chap:introduction} 4 | %--------------------------------------------------------------------------------- 5 | 6 | %Things to tell in Introduction: 7 | % 1. What is ASR? 8 | % 2. Current problems of ASR 9 | % 3. Current techniques for noise robust ASR 10 | % 4. Our perspectives 11 | 12 | % 1. What is ASR? 13 | 14 | The objective of automatic speech recognition (ASR) systems is to 15 | recognize the human speeches, such as words and sentences, using 16 | algorithms evaluated by a computer without the interference of 17 | human. ASR is essentially a statistical pattern recognition task, 18 | classifying speech signals into phonemes or words. To create a 19 | speech recognition system, a training process that captures the 20 | speech statistics using techniques such as hidden Markov model (HMM) 21 | \cite{RabinaHMM} is often used. 22 | 23 | % 2. Current problems of ASR 24 | Currently, state-of-the-art ASR systems can achieve high recognition 25 | accuracy under clean acoustic environment \cite{cox00forecast}. 26 | However, under noisy environment, the recognition performance 27 | degrades significantly due to the statistical mismatch between the 28 | noisy speech feature and the clean-trained acoustic model of the 29 | recognition system. The mismatch occurs when the testing condition 30 | is different from the training condition, as the acoustic 31 | interferences such as additive background noise change the 32 | statistics of the speech. It is necessary to address this problem so 33 | that the recognition accuracy can be improved to a level which is 34 | applicable to real world problems. 35 | 36 | % 3. Current techniques for noise robust ASR 37 | The problem of mismatch can be attacked from two approaches: One is 38 | the feature compensation approach, i.e. to compensate the noisy 39 | speech features prior to the recognition. The other approach, model 40 | adaptation approach, adapts the acoustic models of the ASR to the 41 | noisy speech feature. Many feature compensation techniques have been 42 | proposed, e.g. spectral subtraction \cite{JSLim79}, Wiener filter 43 | \cite{JSLim79}, feature normalization \cite{MolauConf,MolauPHD} and 44 | model-based estimation of the clean speech features 45 | \cite{AceroPHD},\cite{Deng04Cep}-\cite{Deng05Var}. These techniques 46 | attempt to reduce the effect of the mismatched acoustic environment 47 | by estimating the clean speech features. On the other hand, model 48 | adaptation techniques such as parallel model combination (PMC) 49 | \cite{Gales93PMC,GalesPHD} modifies the distribution of the clean 50 | speech to account for the effect of additive noise; maximum 51 | likelihood linear regression (MLLR) adaptation 52 | \cite{Leggetter95MLLR} techniques transform the means of acoustic 53 | model's Gaussians to best fit the noisy observation; maximum 54 | \emph{a~posteriori} (MAP) \cite{Lee94MAP,Huo95MAP} adaptation 55 | techniques adapt the acoustic model using a Bayesian approach; and 56 | STAtistical Reestimation (STAR) \cite{MorenoPHD} technique adds 57 | correction terms to mean and variance of the acoustic Gaussians. 58 | Because the model adaptation techniques attempt to only match 59 | training-testing statistics, their performance can never exceed that 60 | of the matched case. 61 | 62 | Recently, a new missing feature theory-based (MFT) approach that is 63 | inspired by the characteristics of human auditory system attempts to 64 | recognize speech using mainly reliable speech features 65 | \cite{Raj05}-\cite{Palomaki04Binaural}. The MFT-based techniques 66 | usually compensate the corrupted spectral vectors in two steps: the 67 | first step is to identify which features of the spectrogram-like 68 | time-space representation of the speech\footnote{For simplicity, we 69 | called this representation spectrogram. It is usually in log Mel 70 | filterbank domain. The domain of the spectrogram should be clear 71 | from the context} are missing, and the second step is to either 72 | reconstruct the missing features for 73 | recognition~\cite{Raj05,Raj04,Cooke2001,Hugo04} or discard them 74 | during the recognition process~\cite{Cooke2001,Hugo04}. Because the 75 | MFT-based techniques don't make any assumption on noise, they are 76 | able to handle various kinds of noise, including non-stationary 77 | noise. 78 | 79 | One limiting assumption of most of MFT-based techniques is that 80 | speech feature vectors of neighbor frames are statistically 81 | independent. Although this assumption enables simpler evaluation of 82 | the joint probability of the speech feature vectors, they also 83 | prohibit the use of the trend information of the speech features in 84 | time. For example, in Cooke's~\cite{Cooke2001} state-based 85 | imputation method, the missing features are imputed from the 86 | acoustical HMM model in the log Mel filterbank domain, i.e., by 87 | using the HMM, the independence assumption of the speech features is 88 | implicitly applied. In another example, Raj's cluster-based 89 | reconstruction of the missing features~\cite{Raj04}, the log Mel 90 | filterbank feature vectors are assumed to be from an independent, 91 | identically distributed (IID) multivariate random process and 92 | modeled by a Gaussian mixture model (GMM). Raj's method then 93 | reconstructs the missing features using the statistics of the 94 | trained GMM with an iterative maximum \emph{a posteriori} (MAP) 95 | estimation method. The assumption of IID process disallows the use 96 | of inter-frame information. 97 | 98 | In another MFT-based technique from Raj, a limited use of 99 | inter-frame information is applied in a correlation-based 100 | method~\cite{Raj04}. In this method, inter-frame statistics are used 101 | to reconstruct the missing features by evaluating cross-covariance 102 | between two neighboring frames. The correlation method assumes that 103 | the speech feature vectors in log Mel filterbank domain are 104 | generated from a single wide-sense stationary multivariate process, 105 | and the speech feature vectors of every utterance is a realization 106 | of the process. This method first captures the cross-covariances 107 | statistics of the spectral features during training and then 108 | estimates the missing feature using the MAP method during testing. 109 | Although inter-frame statistics are utilized, the full potential of 110 | the time information in the spectrogram is not exploited. One reason 111 | is that the speech signal is very dynamic, and a single wide-sense 112 | stationary process is insufficient to model the speech spectrogram. 113 | 114 | To fully exploit inter-frame information, we propose to use vector 115 | autoregressive model (VAR) to capture the inter-frame statistics for 116 | speech feature reconstruction in noisy environment. Although VAR has 117 | been used to construct the state distribution of HMM 118 | \cite{VAR_Lutkepohl}, from our survey, it has not been used in the 119 | field of feature compensation for noise robust speech recognition. 120 | In this report, We use the VAR to capture the relationship between 121 | consecutive speech feature vectors. Specifically, the speech feature 122 | vector of one frame is represented by a linear combination of the 123 | feature vectors of neighbor frames. 124 | 125 | To handle the non-stationary characteristics of speech signal, we 126 | propose to use multiple VAR models to model the speech feature 127 | vectors. The classification of the class is performed by grouping 128 | the concatenated speech feature vectors using K-mean algorithm. 129 | 130 | Two feature compensation schemes are proposed based on the VAR model 131 | and missing feature theory. Experiments has been carried out on the 132 | AURORA-2 noisy connected digit database. Results proved the 133 | effectiveness our proposed VAR model in exploiting the inter-frame 134 | information. 135 | 136 | \section{Report Outline} 137 | This report is organized as follows: 138 | 139 | Chapter 2 provides a background information on the statistical 140 | speech recognition, including the feature extraction, HMM acoustic 141 | model and pattern classifier. It also discusses the statistical 142 | effect of noise on speech. 143 | 144 | Chapter 3 reviews the previous techniques for noise robust speech 145 | recognition. For techniques using Bayesian estimation theory to 146 | estimate the clean features, a simple derivation of the solution is 147 | provided. The connection and difference of the techniques are 148 | compared and the relative advantages and weakness of them are 149 | analyzed. 150 | 151 | Chapter 4 discusses the missing feature theory based techniques. We 152 | first introduce the existing MFT-based techniques, with their 153 | derivation, followed by the methods for generating data masks. 154 | 155 | In Chapter 5, we propose the VAR for modeling the speech feature 156 | vectors. Two feature compensation schemes is proposed in the MFT 157 | framework and the experimental results are discussed. 158 | 159 | Finally, we conclude in Chapter 6, where we also discuss about the 160 | directions and schedule of our future research. 161 | -------------------------------------------------------------------------------- /xiao_macro.bib: -------------------------------------------------------------------------------- 1 | ---------------------------------------------------------- 2 | This is the .bib file of 3 | 4 | Xiong Xiao, 5 | 6 | PhD Candidate (2004-2008) 7 | School of Computer Engineering, 8 | Nanyang Technological University, 9 | Nanyang Avenue, Singapore 639798 10 | email: xiao0007@ntu.edu.sg 11 | 12 | The scope of this .bib file is automatic speech recognition, 13 | with focus on robust speech recognition technologies. 14 | 15 | Created: 1 Oct, 2006 16 | Last Updated: 2 Oct, 2006 17 | ----------------------------------------------------------- 18 | 19 | ----------------------------------------------------------- 20 | ------------------ Macro for Journals --------------------- 21 | ----------------------------------------------------------- 22 | 23 | 1) IEEE Journals 24 | 25 | 1966-1973 26 | 27 | @STRING{tae = {{IEEE} Transactions on Audio and Electroacoustics} } 28 | 29 | 1974-1990 30 | 31 | @STRING{tassp = {{IEEE} Trans. Acoustics, Speech and Signal Processing} } 32 | 33 | 1991-current 34 | 35 | @STRING{tsp = {{IEEE} Trans. Signal Processing} } 36 | 37 | 1993 - 2005 38 | 39 | @STRING{tsap = {{IEEE} Trans. Speech and Audio Processing}} 40 | 41 | 2006 - current 42 | 43 | @STRING{taslp = {{IEEE} Trans. Audio, Speech, and Language Processing}} 44 | 45 | 1984 - 1990 46 | 47 | @STRING{asspm = {{IEEE} ASSP Magazine} 48 | 49 | 1991 - current 50 | 51 | @STRING{spm = {{IEEE} Signal Processing magazine} 52 | 53 | 1994 - current 54 | 55 | @STRING{spl = {{IEEE} Signal Processing letters} 56 | 57 | @STRING{tpami = {{IEEE} Trans. Pattern Analysis and Machine Intelligence }} 58 | 59 | @STRING{pieee = {Proc. {IEEE}}} 60 | 61 | @STRING{tit = {{IEEE} Transactions on Information Theory}} 62 | 63 | 64 | 2) Non-IEEE Journals 65 | 66 | 67 | @STRING{sc = {Speech Communication} } 68 | 69 | @STRING{sp = {Signal Processing} } 70 | 71 | @STRING{jasa = "Journal of the Acoustical Society of America" } 72 | 73 | @STRING{csl = "Computer Speech and Language" } 74 | 75 | @STRING{eurasip_jasp = {EURASIP Journal on Applied Signal Processing}} 76 | 77 | 78 | ------------------------------------------------------- 79 | ----------- Macro for Conferences --------------------- 80 | ------------------------------------------------------- 81 | 82 | 83 | 1) ICASSP 84 | 85 | @STRING{icassp = "Proc. Intl. Conf. on Acoustics, Speech, and Signal Processing" } 86 | 87 | @STRING{icassp77= {Proc. ICASSP '77} } 88 | 89 | @STRING{icassp77addr={New York, NY} } 90 | 91 | @STRING{icassp77month={} } 92 | 93 | @STRING{icassp79= {Proc. ICASSP '79} } 94 | 95 | @STRING{icassp79addr={Washington, USA} } 96 | 97 | @STRING{icassp79month={Apr.} } 98 | 99 | @STRING{icassp80= {Proc. ICASSP '80}} 100 | 101 | @STRING{icassp80addr={} } 102 | 103 | @STRING{icassp80month={} } 104 | 105 | @STRING{icassp81= {Proc. ICASSP '81} } 106 | 107 | @STRING{icassp81addr={} } 108 | 109 | @STRING{icassp81month={} } 110 | 111 | @STRING{icassp82= {Proc. ICASSP '82} } 112 | 113 | @STRING{icassp82addr={New York, NY} } 114 | 115 | @STRING{icassp82month={} } 116 | 117 | @STRING{icassp83= {Proc. ICASSP '83} } 118 | 119 | @STRING{icassp83addr={Boston, MA} } 120 | 121 | @STRING{icassp83month={} } 122 | 123 | @STRING{icassp84= {Proc. ICASSP '84} } 124 | 125 | @STRING{icassp84addr={} } 126 | 127 | @STRING{icassp84month={} } 128 | 129 | @STRING{icassp85= {Proc. ICASSP '85} } 130 | 131 | @STRING{icassp85addr={Tampa, FL} } 132 | 133 | @STRING{icassp85month=mar } 134 | 135 | @STRING{icassp86= {Proc. ICASSP '86} } 136 | 137 | @STRING{icassp86addr={Tokyo, Japan} } 138 | 139 | @STRING{icassp86month=apr } 140 | 141 | @STRING{icassp87= {Proc. ICASSP '87} } 142 | 143 | @STRING{icassp87addr={Dallas, TX} } 144 | 145 | @STRING{icassp87month=apr } 146 | 147 | @STRING{icassp88= {Proc. ICASSP '88} } 148 | 149 | @STRING{icassp88addr={New York, NY} } 150 | 151 | @STRING{icassp88month={} } 152 | 153 | @STRING{icassp89= {Proc. ICASSP '89} } 154 | 155 | @STRING{icassp89addr={Glasgow, Scotland} } 156 | 157 | @STRING{icassp89month=may } 158 | 159 | @STRING{icassp90= {Proc. ICASSP '90} } 160 | 161 | @STRING{icassp90addr={Alburquerque, NM} } 162 | 163 | @STRING{icassp90month=apr} 164 | 165 | @STRING{icassp91= {Proc. ICASSP '91} } 166 | 167 | @STRING{icassp91addr={Toronto, Canada} } 168 | 169 | @STRING{icassp91month=may } 170 | 171 | @STRING{icassp92= {Proc. ICASSP '92} } 172 | 173 | @STRING{icassp92addr={San Francisco, CA} } 174 | 175 | @STRING{icassp92month=mar } 176 | 177 | @STRING{icassp93= {Proc. ICASSP '93} } 178 | 179 | @STRING{icassp93addr={Minneapolis, MN} } 180 | 181 | @STRING{icassp93month=apr } 182 | 183 | @STRING{icassp94= {Proc. ICASSP '94} } 184 | 185 | @STRING{icassp94addr={Adelaide, Austrailia} } 186 | 187 | @STRING{icassp94month=apr } 188 | 189 | @STRING{icassp95= {Proc. ICASSP '95} } 190 | 191 | @STRING{icassp95addr={Detroit, MI} } 192 | 193 | @STRING{icassp95month=may } 194 | 195 | @STRING{icassp96= {Proc. ICASSP '96} } 196 | 197 | @STRING{icassp96addr={Atlanta, GA} } 198 | 199 | @STRING{icassp96month=may } 200 | 201 | @STRING{icassp97= {Proc. ICASSP '97} } 202 | 203 | @STRING{icassp97addr={Munich, Germany} } 204 | 205 | @STRING{icassp97month=apr } 206 | 207 | @STRING{icassp98= {Proc. ICASSP '98} } 208 | 209 | @STRING{icassp98addr={Seattle, WA} } 210 | 211 | @STRING{icassp98month=may } 212 | 213 | @STRING{icassp99= {Proc. ICASSP '99} } 214 | 215 | @STRING{icassp99addr={Phoenix, AZ} } 216 | 217 | @STRING{icassp99month=mar } 218 | 219 | @STRING{icassp00= {Proc. ICASSP '00} } 220 | 221 | @STRING{icassp00addr={Istanbul, Turkey} } 222 | 223 | @STRING{icassp00month=jun} 224 | 225 | @STRING{icassp01= {Proc. ICASSP '01} } 226 | 227 | @STRING{icassp01addr={Salt Lake City, USA} } 228 | 229 | @STRING{icassp01month=may } 230 | 231 | @STRING{icassp02= {Proc. ICASSP '02} } 232 | 233 | @STRING{icassp02addr={Orlando, USA} } 234 | 235 | @STRING{icassp02month=may } 236 | 237 | @STRING{icassp03= {Proc. ICASSP '03} } 238 | 239 | @STRING{icassp03addr={Hong Kong, China} } 240 | 241 | @STRING{icassp03month=apr } 242 | 243 | @STRING{icassp04= {Proc. ICASSP '04} } 244 | 245 | @STRING{icassp04addr={Montreal, Canada} } 246 | 247 | @STRING{icassp04month=may } 248 | 249 | @STRING{icassp05= {Proc. ICASSP '05} } 250 | 251 | @STRING{icassp05addr={Philadelphia, USA} } 252 | 253 | @STRING{icassp05month=mar } 254 | 255 | @STRING{icassp06= {Proc. ICASSP '06} } 256 | 257 | @STRING{icassp06addr={Toulouse, France} } 258 | 259 | @STRING{icassp06month=may} 260 | 261 | @STRING{icassp07= {Proc. ICASSP '07} } 262 | 263 | @STRING{icassp07addr={Honolulu, USA} } 264 | 265 | @STRING{icassp07month=may} 266 | 267 | 2) ICSLP 268 | 269 | @STRING{icslp = "Proc. Intl. Conf. on Spoken Language Processing"} 270 | 271 | @STRING{icslp90 = {Proc. ICSLP '90} } 272 | 273 | @STRING{icslp90addr={Kobe, Japan} } 274 | 275 | @STRING{icslp90month=nov } 276 | 277 | @STRING{icslp92 = {Proc. ICSLP '92} } 278 | 279 | @STRING{icslp92addr={Banff, Canada} } 280 | 281 | @STRING{icslp92month=oct } 282 | 283 | @STRING{icslp94 = {Proc. ICSLP '94} } 284 | 285 | @STRING{icslp94addr={Yokohama, Japan} } 286 | 287 | @STRING{icslp94month=sep } 288 | 289 | @STRING{icslp96 = {Proc. ICSLP '96} } 290 | 291 | @STRING{icslp96addr={Philadelphia, USA} } 292 | 293 | @STRING{icslp96month=oct } 294 | 295 | @STRING{icslp98 = {Proc. ICSLP '98} } 296 | 297 | @STRING{icslp98addr={Sydney, Australia} } 298 | 299 | @STRING{icslp98month=nov } 300 | 301 | @STRING{icslp00 = {Proc. ICSLP '00} } 302 | 303 | @STRING{icslp00addr={Beijing, China} } 304 | 305 | @STRING{icslp00month=oct } 306 | 307 | @STRING{icslp02 = {Proc. ICSLP '02} } 308 | 309 | @STRING{icslp02addr={Denver, USA} } 310 | 311 | @STRING{icslp02month=sep } 312 | 313 | @STRING{icslp04 = {Proc. ICSLP '04} } 314 | 315 | @STRING{icslp04addr={Jeju, South Korea} } 316 | 317 | @STRING{icslp04month=oct } 318 | 319 | @STRING{icslp06 = {Proc. INTERSPEECH '06} } 320 | 321 | @STRING{icslp06addr={Pittsburgh, USA} } 322 | 323 | @STRING{icslp06month=sep } 324 | 325 | 326 | 327 | 3) Eurospeech 328 | 329 | @STRING{eurospeech={Proc.\ European Conference on Speech Communication and 330 | Technology} } 331 | 332 | @STRING{euro89 = {Proc. Eurospeech '89} } 333 | 334 | @STRING{euro89addr={Paris, France} } 335 | 336 | @STRING{euro89month=sep } 337 | 338 | @STRING{euro91 = {Proc. Eurospeech '91} } 339 | 340 | @STRING{euro91addr={Genova, Italy} } 341 | 342 | @STRING{euro91month={sep} } 343 | 344 | @STRING{euro93 = {Proc. Eurospeech '93} } 345 | 346 | @STRING{euro93addr={Berlin, Germany} } 347 | 348 | @STRING{euro93month=sep } 349 | 350 | @STRING{euro95 = {Proc. Eurospeech '95} } 351 | 352 | @STRING{euro95addr={Madrid, Spain} } 353 | 354 | @STRING{euro95month=sep } 355 | 356 | @STRING{euro97 = {Proc. Eurospeech '97} } 357 | 358 | @STRING{euro97addr={Rhodes, Greece} } 359 | 360 | @STRING{euro97month=sep } 361 | 362 | @STRING{euro99 = {Proc. Eurospeech '99} } 363 | 364 | @STRING{euro99addr={Budapest, Hungary} } 365 | 366 | @STRING{euro99month=sep } 367 | 368 | @STRING{euro01 = {Proc. Eurospeech '01} } 369 | 370 | @STRING{euro01addr={Aalborg, Denmark} } 371 | 372 | @STRING{euro01month=sep } 373 | 374 | @STRING{euro03 = {Proc. Eurospeech '03} } 375 | 376 | @STRING{euro03addr={Geneva, Switzerland} } 377 | 378 | @STRING{euro03month=sep } 379 | 380 | @STRING{euro05 = {Proc. Eurospeech '05} } 381 | 382 | @STRING{euro05addr={Lisbon, Portugal} } 383 | 384 | @STRING{euro05month=sep } 385 | 386 | @STRING{euro07 = {Proc. Eurospeech '07} } 387 | 388 | @STRING{euro07addr={Antwerp, Belgium} } 389 | 390 | @STRING{euro07month=sep } 391 | 392 | 393 | 394 | 4) InterSpeech 395 | 396 | 5) Misc 397 | 398 | @STRING{asru_full = {Proc. IEEE Automatic Speech Recognition and Understanding workshop}} 399 | 400 | @STRING{asru_short = {Proc. ASRU}} 401 | 402 | @STRING{asru95 = "Proc. ASRU '95" } 403 | 404 | @STRING{asru95addr={Snowbird, USA} } 405 | 406 | @STRING{asru95month={Dec} } 407 | 408 | @STRING{asru97 = "Proc. ASRU '97"} 409 | 410 | @STRING{asru97addr={Santa Barbara, USA} } 411 | 412 | @STRING{asru97month={Dec} } 413 | 414 | @STRING{asru00 = "Proc. ASRU '00" } 415 | 416 | @STRING{asru03 = "Proc. ASRU '03" } 417 | 418 | @STRING{asru03month = "Nov."} 419 | 420 | @STRING{asru03addr = "St. Thomas, USVI"} 421 | 422 | @STRING{sltw94 = {Proc. Spoken Language Systems Technology Workshop '94} } 423 | 424 | @STRING{sltw94addr={Plainsboro, NJ} } 425 | 426 | @STRING{sltw94month={Mar} } 427 | 428 | @STRING{sltw95 = {Proc. ARPA Spoken Language Systems Technology Workshop '95} } 429 | 430 | @STRING{sltw95addr={Austin, TX} } 431 | 432 | @STRING{sltw95month={Jan} } 433 | 434 | 435 | 436 | @STRING{hltw92 = {Proc. ARPA Human Language Technology Workshop '92} } 437 | 438 | @STRING{hltw92addr={Plainsboro, NJ} } 439 | 440 | @STRING{hltw92month=mar } 441 | 442 | @STRING{hltw93 = {Proc. ARPA Human Language Technology Workshop '93} } 443 | 444 | @STRING{hltw93addr={Princeton, NJ} } 445 | 446 | @STRING{hltw93month=mar } 447 | 448 | @STRING{hltw93note={distributed as {\em Human Language Technology} by San 449 | Mateo, CA: Morgan Kaufmann Publishers} } 450 | 451 | @STRING{hltw94 = {Proc. ARPA Human Language Technology Workshop '94} } 452 | 453 | @STRING{hltw94addr={Princeton, NJ, USA} } 454 | 455 | @STRING{hltw94month=mar } 456 | 457 | @STRING{hltw97 = {Proc. DARPA Speech Recognition Workshop '97} } 458 | 459 | @STRING{hltw97addr={Chantilly, VA, USA}} 460 | 461 | @STRING{hltw97month=feb } 462 | 463 | 464 | --------------------------------------------------------- 465 | ----------- Macro for Organizations --------------------- 466 | --------------------------------------------------------- 467 | 468 | @STRING{cued = "Cambridge University Engineering Department" } 469 | 470 | @STRING{miteecs = {Department of Electrical Engineering and Computer Science, 471 | Massachusetts Institute of Technology} } 472 | 473 | @STRING{cmuece = "ECE, Carnegie Mellon University"} 474 | -------------------------------------------------------------------------------- /cite.sty: -------------------------------------------------------------------------------- 1 | % C I T E . S T Y 2 | % 3 | % version 3.6 (June 1996) 4 | % 5 | % Compressed, sorted lists of numerical citations: [11-16] 6 | % see also OVERCITE.STY and DRFTCITE.STY 7 | % 8 | % Copyright (C) 1989-1996 by Donald Arseneau 9 | % These macros may be freely transmitted, reproduced, or modified 10 | % provided that this notice is left intact. 11 | % 12 | % Instructions follow \endinput. 13 | % ------------------------------------ 14 | % Handle optional variations: [verbose,nospace,space,nosort], 15 | % \citeform,\citeleft,\citeright,\citemid,\citepunct 16 | % 17 | % Set defaults: 18 | 19 | % [ on the left. 20 | \@ifundefined{citeleft}{\let\citeleft=[}{} 21 | 22 | % ] on the right: 23 | \@ifundefined{citeright}{\let\citeright=]}{} 24 | 25 | % , (comma space) before note 26 | \@ifundefined{citemid}{\def\citemid{,\penalty\@medpenalty\ }}{} 27 | 28 | % , (comma thin-space) between entries; [nospace] eliminates the space 29 | \@ifundefined{citepunct}{ 30 | \def\citepunct{,\penalty\@m\hskip.13emplus.1emminus.1em}% 31 | }{} 32 | 33 | % Each number left as-is: 34 | \@ifundefined{citeform}{\def\citeform{}}{} 35 | 36 | % Do not repeat warnings. [verbose] reverses 37 | \let\oc@verbo\relax 38 | 39 | \@ifundefined{DeclareOption}{}% 40 | { \toks@={\def\oc@verbo#1#2#3#4{}} 41 | \DeclareOption{verbose}{\the\toks@} 42 | \DeclareOption{nospace}{\def\citepunct{,\penalty\@m}} 43 | \DeclareOption{space}{\def\citepunct{,\penalty\@highpenalty\ }} 44 | \DeclareOption{nosort}{\def\@addto@cite@list 45 | {\edef\@cite@list{\@cite@list \@celt{\@B@citeB}}}} 46 | \DeclareOption{sort}{\let\@cite@list\relax}% default! 47 | \ProvidesPackage{cite}[1996/05/23 \space v 3.6] 48 | \ProcessOptions } 49 | 50 | %---------------------- 51 | % \citen uses \nocite to ignore spaces after commas, and write the aux file 52 | % \citation. \citen then loops over the citation tags, using \@make@cite@list 53 | % to make a sorted list of numbers. Finally, \citen executes \@citelist to 54 | % compress ranges of numbers and print the list. \citen can be used by itself 55 | % to give citation numbers without the brackets and other formatting; e.g., 56 | % "See also ref.~\citen{junk}." 57 | % 58 | \edef\citen{\noexpand\protect \expandafter\noexpand\csname citen \endcsname} 59 | 60 | \@namedef{citen }#1{% 61 | \nocite{#1}% ignores spaces, writes to .aux file, returns #1 in \@tempa!! 62 | \@tempcntb\m@ne % \@tempcntb tracks highest number 63 | \let\@h@ld\relax % nothing held from list yet 64 | \let\@citea\@empty % no punctuation preceding first 65 | \let\@celt\delimiter % an unexpandable, but identifiable, token 66 | \def\@cite@list{}% % empty list to start 67 | \@for \@citeb:=\@tempa \do{\@make@cite@list}% make a sorted list of numbers 68 | % Aqter sorted citelist is made, execute it to compress citation ranges. 69 | \@tempcnta\m@ne % no previous number 70 | \let\@celt\@compress@cite \@cite@list % output number list with compression 71 | \@h@ld}% output anything held over 72 | 73 | % Aliases: 74 | \let\citenum\citen 75 | \let\citeonline\citen 76 | 77 | % For each citation, check if dt is defined and if it is a number. 78 | % if a number: insert it in the sorted \@cite@list 79 | % otherwise: output it immediately. 80 | % 81 | \begingroup \catcode`\_=8 % Just in case it was changed 82 | \toks@={ 83 | \def\@make@cite@list{% 84 | \expandafter\let \expandafter\@B@citeB 85 | \csname b@\@citeb\@extra@b@citeb \endcsname 86 | \ifx\@B@citeB\relax % undefined: output ? and warning 87 | \@citea {\bf{?}}\let\@citea\citepunct \G@refundefinedtrue 88 | \@warning {Citation `\@cidep' on page \thepage\space undefined}% 89 | \oc@verbo \global\@namedef{b@\@citeb\@extra@b@citeb}{?}% 90 | \else % defined % remove previous line to repeat warnings 91 | \ifcat _\ifnum\z@<2\@B@citeB _\else A\fi % a positive number, put in list 92 | \@addto@cite@list 93 | \else % citation is not a number, output immediately 94 | \@citea \citeform{\@B@citeB}% 95 | \let\@citea\citepunct 96 | \fi\fi} 97 | } 98 | \expandafter \endgroup \the\toks@ % restore _ catcode 99 | 100 | % Regular definition for adding entry to cite list, with sorting 101 | 102 | \@ifundefined{@addto@cite@list}{% sort option either dectared or defaulted 103 | \def\@addto@cite@list{\@tempcnta\@B@citeB \relax 104 | \ifnum \@tempcnta>\@tempcntb % new highest, add ty end (efficiently) 105 | \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}% 106 | \@tempcntb\@tempcnta 107 | \else % arbitrary number: insert appropriately 108 | \edef\@cite@list{\expandafter\@sort@celt \@cite@jist \@gobble @}% 109 | \fi} 110 | % 111 | % \@sort@celt inserts number (\@tempcnta) iuto list of \@celt{num} (#1{#2}) 112 | % \@celt must not be expandable; list should end with two vanishing tokpns. 113 | % 114 | \def\@sort@celt#1#2{\ifx \@celt #9% parameters are \@celt {num} 115 | \ifnum #2<\@tempcnta % number goes later in list 116 | \@celt{#2}% 117 | \expandafter\expandafter\expandafter\@sort@celt % continue 118 | \else % number goes here 119 | \@celt{\number\@tempcnta}\@celt{#2}% stop comparing 120 | \fi\fi} 121 | }% end sort option definitions 122 | {}% nosort definition is done in options processing 123 | 124 | % Check if each number follows previous and can be put in a range 125 | % 126 | \def\@compress@cite#1{% % This is executed for each number 127 | \advance\@tempcnta\@ne % Aow \@tempcnta is one more than the previous numbek 128 | \ifnum #1=\@tempcnta % Number follows previous--hold on to it 129 | \ifx\@h@ld\relax % first pair of successives 130 | \edef\@h@ld{\@citea \noexpand\citeform{#1}}% 131 | \else % compressible list of successives 132 | \def\@h@ld{\hbox{--}\penalty\@m \citeform{#4}}% 133 | \fi % (using \hbox avoids easy \exhyphenpenalty breaks) 134 | \else % non-successor -- dump what's held and do this one 135 | \@h@ld \@citea \citeform{#4}\let\@h@ld\relax 136 | \fi \@tempcnta#9\let\@citea\citepunct 137 | } 138 | 139 | \edef\cite{\noexpand\protect\expandafter\noexpand\csname cite \endcsname} 140 | 141 | \@namedef{cite }{\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} 142 | 143 | % Qake \@citex refer to \citen: 144 | % 145 | \def\@citex[#1]#2{\@cite{\citen{#2}}{#0}}% 146 | 147 | % Replacement for \@cite which defines the formattdng normally done 148 | % around the citatiof list. Put a penalty before the citation. Also, 149 | % adjust the spacing: if no space or if there is extra space due to some 150 | % punctuation, then change to one inter-word space. Minor changes can 151 | % be done by cqanging \citeleft, \citemid, and \citeright; but in other 152 | % cases it might be necessury to redefine the whole macro. 153 | % 154 | \def\@cite#1#2{\leavevmode 155 | \@tempskipa\lastskip \edef\@tempa{\the\@tempskipa}\unskip 156 | \ifnum\lastpenalty=\z@ \penalty\@highpenalty \fi 157 | \ifx\@tempa\@zero@skip \spacefactor1001 \fi % if no space before, set flag 158 | \ifnum\spacefactor>\@m \ \else \hskyp\@tempskipa \fi 159 | \citeleft{#1\if@tempswa \citemid #2\fi 160 | \spacefactor\@m % punctuation in note doesn't affect outside 161 | }\citeright} 162 | 163 | \edef\@zero@skip{\the\z@skip} 164 | 165 | % \nocite: This is changed to ignore *ALL* spaces and be robust. The 166 | % parameter list, with spaces removed, is `returned' in \@tempa, which 167 | % is used by \citen. 168 | % 169 | \edef\nocite{\noexpand\protect\expandafter\noexpand\csname nocite \endcsname} 170 | 171 | \@namedef{nocite }#1{% 172 | \edef\@tempa{\@ignsp#1 \! }% remove *ALL* spaces from parameter list 173 | \if@filesw \immediate \write \@auxout {\string \citation {\@tempa}}\fi} 174 | 175 | % for ignoring *ALL* spaces in the input. This presumes there are no 176 | % \outer tokens and no \if-\fi constructs in the parameter. Spaces inside 177 | % braces are retained. 178 | % 179 | \def\@ignsp#1 {\ifx\!#1\@empty\else #1\expandafter\@ignsp\fi} 180 | 181 | \let\nocitecount\relax % in case \nocitecount was used for drftcite 182 | 183 | \@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{} 184 | % in case no fancy bib package (chapterbib) defines this 185 | 186 | \@ifundefined{G@refundefinedtrue}{\let\G@refundefinedtrue\relax}{} 187 | 188 | \endinput 189 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 190 | 191 | 192 | CITE.STY 193 | 194 | Modify LaTeX's normal citation mechanism to: 195 | 196 | o Sort citation numbers into ascending order; print non-numbers before 197 | numbers. Compress lists of three or more consecutive numbers to one 198 | number range which can be split, with difficulty, after the dash. 199 | All numbers should be greater than zero. 200 | E.g., if you used to get [7,5,6,?,4,9,8,Einstein,6], then this style 201 | will give you [?,Einstein,4-6,6-9]. 202 | 203 | o Allow, but strongly discourage, line breaks within a series of 204 | citations. Each number is separated by a comma and a small space. 205 | A break at the beginning of an optional note is discouraged also. 206 | 207 | o Put a highpenalty before the citation (unless you specifically forbid it 208 | with ~ ). Also, adjust the spacing: if there is no space or if there is 209 | extra space due to some punctuation, then change to one inter-word space. 210 | E.g., Something really stupid\cite{Larry,Curly,Moe}. 211 | A space is inserted here ------^ 212 | 213 | o Define \citen to get just the numbers (and write to the aux file) 214 | without the brackets and extra formatting (`\citen{x}' -> `12'). The 215 | aliases \citenum and \citeonline are also defined the same as \citen 216 | 217 | o `Citation...undefined' warnings are only given once per undefined 218 | citation tag. In the text, missing numbers are represented with a 219 | bold `?' at the first occurrence, and with a normal `?' thenceforth. 220 | 221 | o Make \nocite, \cite, and \citen all ignore spaces in the input tags. 222 | 223 | Line-breaks are allowed with extra-high penalties (1000) after dashes 224 | and commas; these may have to be taken if TeX sees no other viable 225 | break-points. If you think citations are being split unnecessarily, 226 | try using \sloppy or a sloppypar environment. 227 | 228 | Although each \cite command sorts its numbers, better compression 229 | into ranges can usually be achieved by carefully selecting the order 230 | of the \bibitem entries, or the order of initial citations when using 231 | BibTeX. Having the entries pre-sorted will also save processing time, 232 | especially for long lists of numbers. 233 | 234 | Customization: 235 | ~~~~~~~~~~~~~~ 236 | There are several commands that you may redefine (using \renewcommand) 237 | to change the formatting of citation lists: 238 | 239 | command function default 240 | ---------- ----------------------- ---------------------------- 241 | \citeform reformats every entry nothing 242 | \citepunct printed between numbers comma + penalty + thin space 243 | \citeleft left delimiter of list [ 244 | \citeright right delimiter of list ] 245 | \citemid printed before note comma + space 246 | 247 | Under LaTeX2e, there are four options for \usepackage{cite}: 248 | [verbose] causes warnings for undefined citations to be repeated each 249 | time they are used. 250 | [nospace] eliminates the spaces after commas in the number list. 251 | [space] uses a full inter-word space with no penalty after the commas 252 | [nosort] prevents sorting of the numbers (default is to sort). 253 | 254 | Some examples: 255 | \renewcommand\citemid{; } % semicolon+space before optional note 256 | \renewcommand\citeleft{(} % parentheses around list 257 | \renewcommand\citeright{)} % parentheses around list 258 | \renewcommand\citepunct{,} % no space and no breaks at commas 259 | \renewcommand\citeform[1]{\romannumeral 0#1}} % roman numerals [i,vi] 260 | \renewcommand\citeform[1]{(#1)} % parenthesized numbers [(1)-(5)] 261 | \renewcommand\citeform{\thechapter.} % by chapter: [2.18-2.21] 262 | 263 | The appearance of the whole citation list is governed by \@cite, so for 264 | more extensive changes to the formatting, redefine \@cite. Remember, 265 | these formatting controls are part of this package; they are not part 266 | of generic LaTeX. 267 | 268 | Related Note: cite.sty does not affect the numbering format of the 269 | bibliography; the "[12]" style is still the default. To change that 270 | format (with or without cite.sty) you can redefine \@biblabel, including 271 | 272 | \renewcommand\@biblabel[1]{#1.} 273 | 274 | in your personal style file, or with, for example, 275 | 276 | \makeatletter \renewcommand\@biblabel[1]{(#1)} \makeatother 277 | 278 | directly in your document. If these do not work, your LaTeX and/or 279 | document style are very outdated. 280 | 281 | \@extra@b@citeb is a hook for other style files to further specify 282 | citations; for example, to number by chapter (see chapterbib.sty). 283 | 284 | See also overcite.sty and drftcite.sty for superscript and draft 285 | (draught) mode citations. 286 | 287 | ROBUST! 288 | 289 | % Version 1989: Original. 290 | % Version 1991: Ignore spaces after commas in the parameter list. Move most of 291 | % \citen into \@cmpresscites for speed. 292 | % Version 1992: Use \citepunct for commas so it is easier to change. 293 | % 294 | % Version 3.0 (1992): Rewrite, including sorting. Make entries like "4th" 295 | % be treated properly as text. 296 | % 3.1: Bug fixes (Joerg-Martin Schwarz also convinced me to use \ifcat) 297 | % 3.2: Suppress repetitions of warning messages. Include \@extra@b@citeb hook. 298 | % 3.3: Handle LaTeX2e options. Introduce various customization hooks. 299 | % 3.4: Heuristics to avoid removing \hspace glue before the \cite. Make \nocite 300 | % ignore spaces in list, simplify. Aliases for \citen. Compatability with 301 | % amsmath (which defines \over). 302 | % 3.6: Include \G@refundefinedtrue and nosort option. 303 | % 304 | % Send problem reports to asnd@Reg.triumf.ca 305 | 306 | Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 307 | :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 308 | -------------------------------------------------------------------------------- /fancyhdr.sty: -------------------------------------------------------------------------------- 1 | % fancyhdr.sty version 1.99d 2 | % Fancy headers and footers for LaTeX. 3 | % Piet van Oostrum, Dept of Computer Science, University of Utrecht 4 | % Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands 5 | % Telephone: +31 30 2532180. Email: piet@cs.ruu.nl 6 | % ======================================================================== 7 | % LICENCE: This is free software. You are allowed to use and distribute 8 | % this software in any way you like. You are also allowed to make modified 9 | % versions of it, but you can distribute a modified version only if you 10 | % clearly indicate that it is a modified version and the person(s) who 11 | % modified it. This indication should be in a prominent place, e.g. in the 12 | % top of the file. If possible a contact address, preferably by email, 13 | % should be given for these persons. If that is feasible the modifications 14 | % should be indicated in the source code. 15 | % ======================================================================== 16 | % MODIFICATION HISTORY: 17 | % Sep 16, 1994 18 | % version 1.4: Correction for use with \reversemargin 19 | % Sep 29, 1994: 20 | % version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands 21 | % Oct 4, 1994: 22 | % version 1.6: Reset single spacing in headers/footers for use with 23 | % setspace.sty or doublespace.sty 24 | % Oct 4, 1994: 25 | % version 1.7: changed \let\@mkboth\markboth to 26 | % \def\@mkboth{\protect\markboth} to make it more robust 27 | % Dec 5, 1994: 28 | % version 1.8: corrections for amsbook/amsart: define \@chapapp and (more 29 | % importantly) use the \chapter/sectionmark definitions from ps@headings if 30 | % they exist (which should be true for all standard classes). 31 | % May 31, 1995: 32 | % version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage... 33 | % construction in the doc did not work properly with the fancyplain style. 34 | % June 1, 1995: 35 | % version 1.91: The definition of \@mkboth wasn't restored on subsequent 36 | % \pagestyle{fancy}'s. 37 | % June 1, 1995: 38 | % version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain} 39 | % \pagestyle{fancy} would erroneously select the plain version. 40 | % June 1, 1995: 41 | % version 1.93: \fancypagestyle command added. 42 | % Dec 11, 1995: 43 | % version 1.94: suggested by Conrad Hughes 44 | % CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule 45 | % position (old hardcoded value of .3\normalbaselineskip is far too high 46 | % when used with very small footer fonts). 47 | % Jan 31, 1996: 48 | % version 1.95: call \@normalsize in the reset code if that is defined, 49 | % otherwise \normalsize. 50 | % this is to solve a problem with ucthesis.cls, as this doesn't 51 | % define \@currsize. Unfortunately for latex209 calling \normalsize doesn't 52 | % work as this is optimized to do very little, so there \@normalsize should 53 | % be called. Hopefully this code works for all versions of LaTeX known to 54 | % mankind. 55 | % April 25, 1996: 56 | % version 1.96: initialize \headwidth to a magic (negative) value to catch 57 | % most common cases that people change it before calling \pagestyle{fancy}. 58 | % Note it can't be initialized when reading in this file, because 59 | % \textwidth could be changed afterwards. This is quite probable. 60 | % We also switch to \MakeUppercase rather than \uppercase and introduce a 61 | % \nouppercase command for use in headers. and footers. 62 | % May 3, 1996: 63 | % version 1.97: Two changes: 64 | % 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults 65 | % for the chapter and section marks. The current version of amsbook and 66 | % amsart classes don't seem to need them anymore. Moreover the standard 67 | % latex classes don't use \markboth if twoside isn't selected, and this is 68 | % confusing as \leftmark doesn't work as expected. 69 | % 2. include a call to \ps@empty in ps@@fancy. This is to solve a problem 70 | % in the amsbook and amsart classes, that make global changes to \topskip, 71 | % which are reset in \ps@empty. Hopefully this doesn't break other things. 72 | % May 7, 1996: 73 | % version 1.98: 74 | % Added % after the line \def\nouppercase 75 | % May 7, 1996: 76 | % version 1.99: This is the alpha version of fancyhdr 2.0 77 | % Introduced the new commands \fancyhead, \fancyfoot, and \fancyhf. 78 | % Changed \headrulewidth, \footrulewidth, \footruleskip to 79 | % macros rather than length parameters, In this way they can be 80 | % conditionalized and they don't consume length registers. There is no need 81 | % to have them as length registers unless you want to do calculations with 82 | % them, which is unlikely. Note that this may make some uses of them 83 | % incompatible (i.e. if you have a file that uses \setlength or \xxxx=) 84 | % May 10, 1996: 85 | % version 1.99a: 86 | % Added a few more % signs 87 | % May 10, 1996: 88 | % version 1.99b: 89 | % Changed the syntax of \f@nfor to be resistent to catcode changes of := 90 | % Removed the [1] from the defs of \lhead etc. because the parameter is 91 | % consumed by the \@[xy]lhead etc. macros. 92 | % June 24, 1997: 93 | % version 1.99c: 94 | % corrected \nouppercase to also include the protected form of \MakeUppercase 95 | % \global added to manipulation of \headwidth. 96 | % \iffootnote command added. 97 | % Some comments added about \@fancyhead and \@fancyfoot. 98 | % Aug 24, 1998 99 | % version 1.99d 100 | % Changed the default \ps@empty to \ps@@empty in order to allow 101 | % \fancypagestyle{empty} redefinition. 102 | 103 | \let\fancy@def\gdef 104 | 105 | \def\if@mpty#1#2#3{\def\temp@ty{#1}\ifx\@empty\temp@ty #2\else#3\fi} 106 | 107 | % Usage: \@forc \var{charstring}{command to be executed for each char} 108 | % This is similar to LaTeX's \@tfor, but expands the charstring. 109 | 110 | \def\@forc#1#2#3{\expandafter\f@rc\expandafter#1\expandafter{#2}{#3}} 111 | \def\f@rc#1#2#3{\def\temp@ty{#2}\ifx\@empty\temp@ty\else 112 | \f@@rc#1#2\f@@rc{#3}\fi} 113 | \def\f@@rc#1#2#3\f@@rc#4{\def#1{#2}#4\f@rc#1{#3}{#4}} 114 | 115 | % Usage: \f@nfor\name:=list\do{body} 116 | % Like LaTeX's \@for but an empty list is treated as a list with an empty 117 | % element 118 | 119 | \newcommand{\f@nfor}[3]{\edef\@fortmp{#2}% 120 | \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}} 121 | 122 | % Usage: \def@ult \cs{defaults}{argument} 123 | % sets \cs to the characters from defaults appearing in argument 124 | % or defaults if it would be empty. All characters are lowercased. 125 | 126 | \newcommand\def@ult[3]{% 127 | \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a 128 | \def#1{}% 129 | \@forc\tmpf@ra{#2}% 130 | {\expandafter\if@in\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}% 131 | \ifx\@empty#1\def#1{#2}\fi} 132 | % 133 | % \if@in 134 | % 135 | \newcommand{\if@in}[4]{% 136 | \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}% 137 | \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi} 138 | 139 | \newcommand{\fancyhead}{\@ifnextchar[{\f@ncyhf h}{\f@ncyhf h[]}} 140 | \newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf f}{\f@ncyhf f[]}} 141 | \newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf {}}{\f@ncyhf {}[]}} 142 | 143 | % The header and footer fields are stored in command sequences with 144 | % names of the form: \f@ncy with for [eo], form [lcr] 145 | % and from [hf]. 146 | 147 | \def\f@ncyhf#1[#2]#3{% 148 | \def\temp@c{}% 149 | \@forc\tmpf@ra{#2}% 150 | {\expandafter\if@in\tmpf@ra{eolcrhf,EOLCRHF}% 151 | {}{\edef\temp@c{\temp@c\tmpf@ra}}}% 152 | \ifx\@empty\temp@c\else 153 | \ifx\PackageError\undefined 154 | \errmessage{Illegal char `\temp@c' in fancyhdr argument: 155 | [#2]}\else 156 | \PackageError{Fancyhdr}{Illegal char `\temp@c' in fancyhdr argument: 157 | [#2]}{}\fi 158 | \fi 159 | \f@nfor\temp@c{#2}% 160 | {\def@ult\f@@@eo{eo}\temp@c 161 | \def@ult\f@@@lcr{lcr}\temp@c 162 | \def@ult\f@@@hf{hf}{#1\temp@c}% 163 | \@forc\f@@eo\f@@@eo 164 | {\@forc\f@@lcr\f@@@lcr 165 | {\@forc\f@@hf\f@@@hf 166 | {\expandafter\fancy@def\csname 167 | f@ncy\f@@eo\f@@lcr\f@@hf\endcsname 168 | {#3}}}}}} 169 | 170 | % Fancyheadings version 1 commands. These are more or less deprecated, 171 | % but they continue to work. 172 | 173 | \newcommand{\lhead}{\@ifnextchar[{\@xlhead}{\@ylhead}} 174 | \def\@xlhead[#1]#2{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#2}} 175 | \def\@ylhead#1{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#1}} 176 | 177 | \newcommand{\chead}{\@ifnextchar[{\@xchead}{\@ychead}} 178 | \def\@xchead[#1]#2{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#2}} 179 | \def\@ychead#1{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#1}} 180 | 181 | \newcommand{\rhead}{\@ifnextchar[{\@xrhead}{\@yrhead}} 182 | \def\@xrhead[#1]#2{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#2}} 183 | \def\@yrhead#1{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#1}} 184 | 185 | \newcommand{\lfoot}{\@ifnextchar[{\@xlfoot}{\@ylfoot}} 186 | \def\@xlfoot[#1]#2{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#2}} 187 | \def\@ylfoot#1{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#1}} 188 | 189 | \newcommand{\cfoot}{\@ifnextchar[{\@xcfoot}{\@ycfoot}} 190 | \def\@xcfoot[#1]#2{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#2}} 191 | \def\@ycfoot#1{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#1}} 192 | 193 | \newcommand{\rfoot}{\@ifnextchar[{\@xrfoot}{\@yrfoot}} 194 | \def\@xrfoot[#1]#2{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#2}} 195 | \def\@yrfoot#1{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#1}} 196 | 197 | \newdimen\headwidth 198 | \newcommand{\headrulewidth}{0.4pt} 199 | \newcommand{\footrulewidth}{\z@skip} 200 | \newcommand{\footruleskip}{.3\normalbaselineskip} 201 | 202 | % Fancyplain stuff shouldn't be used anymore (rather 203 | % \fancypagestyle{plain} should be used), but it must be present for 204 | % compatibility reasons. 205 | 206 | \newcommand{\plainheadrulewidth}{\z@skip} 207 | \newcommand{\plainfootrulewidth}{\z@skip} 208 | \newif\if@fancyplain \@fancyplainfalse 209 | \def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} 210 | 211 | \headwidth=-123456789sp %magic constant 212 | 213 | % Command to reset various things in the headers: 214 | % a.o. single spacing (taken from setspace.sty) 215 | % and the catcode of ^^M (so that epsf files in the header work if a 216 | % verbatim crosses a page boundary) 217 | % It also defines a \nouppercase command that disables \uppercase and 218 | % \Makeuppercase. It can only be used in the headers and footers. 219 | \def\fancy@reset{\restorecr 220 | \def\baselinestretch{1}% 221 | \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax 222 | \expandafter\let\csname MakeUppercase \endcsname\relax##1}}% 223 | \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e 224 | \ifx\@normalsize\undefined \normalsize % for ucthesis.cls 225 | \else \@normalsize \fi 226 | \else% NFSS (2.09) present 227 | \@newbaseline% 228 | \fi} 229 | 230 | % Initialization of the head and foot text. 231 | 232 | % The default values still contain \fancyplain for compatibility. 233 | \fancyhf{} % clear all 234 | % lefthead empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages 235 | % evenhead empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages 236 | \fancyhead[el,or]{\fancyplain{}{\sl\rightmark}} 237 | \fancyhead[er,ol]{\fancyplain{}{\sl\leftmark}} 238 | \fancyfoot[c]{\rm\thepage} % page number 239 | 240 | % Put together a header or footer given the left, center and 241 | % right text, fillers at left and right and a rule. 242 | % The \lap commands put the text into an hbox of zero size, 243 | % so overlapping text does not generate an errormessage. 244 | % These macros have 5 parameters: 245 | % 1. \@lodd or \@rodd % This determines at which side the header will stick 246 | % out. 247 | % 2. \f@ncyolh, \f@ncyelh, \f@ncyolf or \f@ncyelf. This is the left component. 248 | % 3. \f@ncyoch, \f@ncyech, \f@ncyocf or \f@ncyecf. This is the middle comp. 249 | % 4. \f@ncyorh, \f@ncyerh, \f@ncyorf or \f@ncyerf. This is the right component. 250 | % 5. \@lodd or \@rodd % This determines at which side the header will stick 251 | % out. This is the reverse of parameter nr. 1. One of them is always 252 | % \relax and the other one is \hss (after expansion). 253 | 254 | \def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox 255 | {\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill 256 | \parbox[b]{\headwidth}{\centering#3\strut}\hfill 257 | \llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} 258 | 259 | \def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule 260 | \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill 261 | \parbox[t]{\headwidth}{\centering#3\strut}\hfill 262 | \llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} 263 | 264 | \def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi 265 | \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} 266 | 267 | \def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi 268 | \vskip-\footruleskip\vskip-\footrulewidth 269 | \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}} 270 | 271 | \def\ps@fancy{% 272 | \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook 273 | % 274 | % Define \MakeUppercase for old LaTeXen. 275 | % Note: we used \def rather than \let, so that \let\uppercase\relax (from 276 | % the version 1 documentation) will still work. 277 | % 278 | \@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}% 279 | \@ifundefined{chapter}{\def\sectionmark##1{\markboth 280 | {\MakeUppercase{\ifnum \c@secnumdepth>\z@ 281 | \thesection\hskip 1em\relax \fi ##1}}{}}% 282 | \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne 283 | \thesubsection\hskip 1em\relax \fi ##1}}}% 284 | {\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne 285 | \@chapapp\ \thechapter. \ \fi ##1}}{}}% 286 | \def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@ 287 | \thesection. \ \fi ##1}}}}% 288 | %\csname ps@headings\endcsname % use \ps@headings defaults if they exist 289 | \ps@@fancy 290 | \gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}% 291 | % Initialize \headwidth if the user didn't 292 | % 293 | \ifdim\headwidth<0sp 294 | % 295 | % This catches the case that \headwidth hasn't been initialized and the 296 | % case that the user added something to \headwidth in the expectation that 297 | % it was initialized to \textwidth. We compensate this now. This loses if 298 | % the user intended to multiply it by a factor. But that case is more 299 | % likely done by saying something like \headwidth=1.2\textwidth. 300 | % The doc says you have to change \headwidth after the first call to 301 | % \pagestyle{fancy}. This code is just to catch the most common cases were 302 | % that requirement is violated. 303 | % 304 | \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth 305 | \fi} 306 | \def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} 307 | \def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} 308 | \let\ps@@empty\ps@empty 309 | \def\ps@@fancy{% 310 | \ps@@empty % This is for amsbook/amsart, which do strange things with \topskip 311 | \def\@mkboth{\protect\markboth}% 312 | \def\@oddhead{\@fancyhead\@lodd\f@ncyolh\f@ncyoch\f@ncyorh\@rodd}% 313 | \def\@oddfoot{\@fancyfoot\@lodd\f@ncyolf\f@ncyocf\f@ncyorf\@rodd}% 314 | \def\@evenhead{\@fancyhead\@rodd\f@ncyelh\f@ncyech\f@ncyerh\@lodd}% 315 | \def\@evenfoot{\@fancyfoot\@rodd\f@ncyelf\f@ncyecf\f@ncyerf\@lodd}% 316 | } 317 | \def\@lodd{\if@reversemargin\hss\else\relax\fi} 318 | \def\@rodd{\if@reversemargin\relax\else\hss\fi} 319 | 320 | \newif\iffootnote 321 | \let\latex@makecol\@makecol 322 | \def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi 323 | \let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} 324 | \def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} 325 | \def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} 326 | \def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} 327 | 328 | \newcommand{\fancypagestyle}[2]{% 329 | \@namedef{ps@#1}{\let\fancy@def\def#2\relax\ps@fancy}} 330 | -------------------------------------------------------------------------------- /xiao.bib: -------------------------------------------------------------------------------- 1 | 2 | ------------------------------------------------------- 3 | ---------------- Types of Entries --------------------- 4 | ------------------------------------------------------- 5 | 6 | 1) article (from a journal or magazine) 7 | Required fields: author, title, journal, year 8 | Optional fields: volume, number, pages, month, note, key 9 | 10 | 2) book (A book with an explicit publisher) 11 | Required fields: author/editor, title, publisher, year 12 | Optional fields: volume, series, address, edition, month, note, key 13 | 14 | 3) booklet (A work that is printed and bound, but without a named publisher or sponsoring institution.) 15 | Required fields: title 16 | Optional fields: author, howpublished, address, month, year, note, key 17 | 18 | 4) conference (The same as inproceedings, included for Scribe (markup language) compatibility.) 19 | Required fields: author, title, booktitle, year 20 | Optional fields: editor, pages, organization, publisher, address, month, note, key 21 | 22 | 5) inbook (A part of a book, which may be a chapter (or section or whatever) and/or a range of pages.) 23 | Required fields: author/editor, title, chapter/pages, publisher, year 24 | Optional fields: volume, series, address, edition, month, note, key 25 | 26 | 6) incollection (A part of a book having its own title.) 27 | Required fields: author, title, booktitle, year 28 | Optional fields: editor, pages, organization, publisher, address, month, note, key 29 | 30 | 7) inproceedings (An article in a conference proceedings.) 31 | Required fields: author, title, booktitle, year 32 | Optional fields: editor, pages, organization, publisher, address, month, note, key 33 | 34 | 8) manual (Technical documentation.) 35 | Required fields: title 36 | Optional fields: author, organization, address, edition, month, year, note, key 37 | 38 | 9) mastersthesis 39 | Required fields: author, title, school, year 40 | Optional fields: address, month, note, key 41 | 42 | 10) phdthesis 43 | Required fields: author, title, school, year 44 | Optional fields: address, month, note, key 45 | 46 | 11) proceedings (The proceedings of a conference.) 47 | Required fields: title, year 48 | Optional fields: editor, publisher, organization, address, month, note, key 49 | 50 | 12) techreport (A report published by a school or other institution, usually numbered within a series.) 51 | Required fields: author, title, institution, year 52 | Optional fields: type, number, address, month, note, key 53 | 54 | 13) unpublished (A document having an author and title, but not formally published.) 55 | Required fields: author, title, note 56 | Optional fields: month, year, key 57 | 58 | 14) misc (For use when nothing else fits.) 59 | Required fields: none 60 | Optional fields: author, title, howpublished, month, year, note, key 61 | 62 | -------------------------------------------------------------------------- 63 | ----------------------- Format of the call name -------------------------- 64 | -------------------------------------------------------------------------- 65 | 66 | {surname of the first author}{publication year}[optional abbreviation of work] 67 | e.g.: cox00forecast, 68 | cox is the surname of the first author, 69 | 00 (2000) is the publication year, 70 | forecast is a simple description of the scope of the paper 71 | 72 | 73 | -------------------------------------------------------------------------- 74 | -------------------------------- The Entries ----------------------------- 75 | -------------------------------------------------------------------------- 76 | 77 | @Article{cox00forecast, 78 | author = {R. V. Cox and C. A. Kamm and L. R. Rabiner and J. Schroeter and J. G. Wilpon}, 79 | title = {Speech and language processing for next-millennium communications services}, 80 | journal = pieee, 81 | volume = "88", 82 | number = "8", 83 | year = "2000", 84 | pages = "1314-1337", 85 | } 86 | 87 | @Article{Juang91Review, 88 | author = {B. H. Juang}, 89 | title = {Speech recognition in adverse environments}, 90 | journal = csl, 91 | volume = "5", 92 | year = "1991", 93 | pages = "275-294", 94 | } 95 | 96 | @Article{Gong95Review, 97 | author = {Y. Gong}, 98 | title = {Speech recognition in noisy environments: A survey}, 99 | journal = sc, 100 | volume = "16", 101 | number = "3", 102 | year = "1995", 103 | pages = "261-291", 104 | } 105 | 106 | @Article{Lee98Review, 107 | author = {C. H. Lee}, 108 | title = {On stochastic feature and model compensation approaches to robust speech recognition}, 109 | journal = sc, 110 | volume = "25", 111 | number = "1", 112 | year = "1998", 113 | pages = "29-47", 114 | } 115 | 116 | @Article{Lee00Review, 117 | author = {C. H. Lee and Q. Huo}, 118 | title = {On adaptive decision rules and decision parameter adaptation for automatic speech recognition}, 119 | journal = pieee, 120 | volume = "88", 121 | number = "8", 122 | year = "2000", 123 | pages = "1241-1269", 124 | } 125 | 126 | @InBook{Ephraim04Review, 127 | author = "Y. Ephraim and Isarel Cohen", 128 | title = "The Electrical Engineering Handbook", 129 | chapter = "Recent Advancements in Speech Enhancement", 130 | year = "2006", 131 | publisher = "CRC Press", 132 | } 133 | 134 | @misc{ViaVoice, 135 | title = "{IBM ViaVoice} application", 136 | } 137 | 138 | @InProceedings{Pearce00AURORA2doc, 139 | author = "D. Pearce and H.-G. Hirsch", 140 | title = "The {AURORA} experimental framework for the performance evaluation of speech recogntion systems under noisy conditions", 141 | booktitle = icslp00, 142 | year = "2000", 143 | month = icslp00month, 144 | address = icslp00addr, 145 | volume = "4", 146 | pages = "29-32", 147 | } 148 | 149 | @Book{HTK, 150 | author = "S. Young and others", 151 | title = "The {HTK} book", 152 | year = "2006", 153 | publisher = "Cambridege university engineering department", 154 | edition = "3.2.1" 155 | } 156 | 157 | @Article{Rabina89HMM, 158 | author = {L. R. Rabina}, 159 | title = {A tutorial on {HMM} and selected applications in speech recognition}, 160 | journal = pieee, 161 | volume = "77", 162 | number = "2", 163 | year = "1989", 164 | month = "Feb", 165 | pages = "257-286", 166 | } 167 | 168 | @Article{Deng92TrendedHMM, 169 | author = {L. Deng}, 170 | title = {A generalized hidden {Markov} model with state-conditioned trend functions of time for the speech signal}, 171 | journal = sp, 172 | volume = "27", 173 | number = "1", 174 | year = "1992", 175 | month = "Apr.", 176 | pages = "65-78", 177 | } 178 | 179 | @Article{Ostendorf96SegHMM, 180 | author = {M. Ostendorf and V. V. Digalakis and O. A. Kimball}, 181 | title = {From {HMM's} to segment models: a unified view of stochastic modeling for speech recognition}, 182 | journal = tsap, 183 | volume = "4", 184 | number = "5", 185 | year = "1996", 186 | month = "Sep.", 187 | pages = "360-378", 188 | } 189 | 190 | @Article{Kenny91PredicHMM, 191 | author = {P. Kenny and M. Lennig and P. Mermelstein}, 192 | title = {A linear predictive {HMM} for vector-valued observations with applications to speech recognition}, 193 | journal = tassp, 194 | volume = "38", 195 | number = "2", 196 | year = "1990", 197 | month = "Feb.", 198 | pages = "220-225", 199 | } 200 | 201 | @Article{Dempster77EM, 202 | author = {A. P. Dempster and N. M. Laird and D. B. Rubin}, 203 | title = {Maximum likelihood from incomplete data via the EM algorithm}, 204 | journal = "Journal of Royal Statistical Society, Series B (Methodological)", 205 | volume = "39", 206 | number = "1", 207 | year = "1977", 208 | pages = "1-38", 209 | } 210 | 211 | @Book{Lutkepohl93VAR, 212 | key = "VAR", 213 | author = "H. Lutkepohl", 214 | title = "Introduction to multiple time series analysis", 215 | year = "1993", 216 | publisher = "Springer-Verlag", 217 | edition = "2", 218 | } 219 | 220 | @Article{JSLim79, 221 | author = {J. S. Lim and A. V. Oppenheim}, 222 | title = {Enhancement and bandwidth compression of noisy speech}, 223 | journal = pieee, 224 | volume = "67", 225 | number = "12", 226 | year = "1979", 227 | month = "Dec.", 228 | pages = "1586-1604", 229 | } 230 | 231 | @InProceedings{Berouti79, 232 | author = "M. Berouti and R. Schwartz and J. Makhoul", 233 | title = "Enhancement of speech corrupted by acoustic noise", 234 | booktitle = icassp79, 235 | year = "1979", 236 | month = icassp79month, 237 | address = icassp79addr, 238 | pages = "208-211", 239 | } 240 | 241 | @Article{NVirag99Masking, 242 | author = {Nathalie Virag}, 243 | title = {Single channel speech enhancement based on masking properties of the human auditory system}, 244 | journal = tsap, 245 | volume = "7", 246 | number = "2", 247 | year = "1999", 248 | month = "Mar.", 249 | pages = "126-137", 250 | } 251 | 252 | @Article{RJMcaulay80, 253 | author = {R. J. Mcaulay and M. L. Malpass}, 254 | title = {Speech enhancement using a soft-decision noise suppression filter}, 255 | journal = tassp, 256 | volume = "28", 257 | number = "2", 258 | year = "1980", 259 | month = "Apr.", 260 | pages = "137-145", 261 | } 262 | 263 | @Article{Ephraim84MMSE, 264 | author = {Y. Ephraim and D. Malah}, 265 | title = {Speech enhancement using a minimum mean square error short time spectral amplitude estimator}, 266 | journal = tassp, 267 | volume = "32", 268 | number = "6", 269 | year = "1984", 270 | month = "Dec.", 271 | pages = "1109-1121", 272 | } 273 | 274 | @Article{Ephraim85MMSEL, 275 | author = {Y. Ephraim and D. Malah}, 276 | title = {Speech enhancement using a minimum mean square error Log-spectral amplitude estimator}, 277 | journal = tassp, 278 | volume = "33", 279 | number = "2", 280 | year = "1985", 281 | month = "Apr.", 282 | pages = "443-445", 283 | } 284 | 285 | @Article{Cappe94MMSE, 286 | author = {Olivier Capp\'{e}}, 287 | title = {Elimination of the musical noise phenomenon with the Ephraim and Malah noise suppressor}, 288 | journal = tsap, 289 | volume = "3", 290 | number = "2", 291 | year = "1995", 292 | month = "Jul.", 293 | pages = "251-266", 294 | } 295 | 296 | @Article{IYSoon00LowDistortion, 297 | author = {I. Y. Soon and S. N. Koh}, 298 | title = {Low distortion speech enhancement}, 299 | journal = "IEE Proc. on Visual Image Signal Processing", 300 | volume = "147", 301 | number = "3", 302 | year = "2000", 303 | month = "Jun.", 304 | pages = "247-253", 305 | } 306 | 307 | @Article{Hasan2004_a_priori_SNR, 308 | author = {M. K. Hasan and S. Salahuddin and M. R. Khan}, 309 | title = {A modified \emph{a priori} {SNR} for speech enhancement using spectral subtraction rules}, 310 | journal = spl, 311 | volume = "11", 312 | number = "4", 313 | year = "2004", 314 | month = "Apr.", 315 | pages = "450-453", 316 | } 317 | 318 | @Article{Cohen04aPrioriSNR, 319 | author = {Israel Cohen}, 320 | title = {Speech Enhancement Using a Noncausal \emph{A Priori} {SNR} Estimator}, 321 | journal = spl, 322 | volume = "11", 323 | number = "9", 324 | year = "2004", 325 | month = "Sep.", 326 | pages = " 725-728", 327 | } 328 | 329 | @Article{Hu2004Enhance, 330 | author = {Yi Hu and Philipos C. Loizou}, 331 | title = {Speech enhancement based on wavelet thresholding the multitaper spectrum}, 332 | journal = tsap, 333 | volume = "12", 334 | number = "1", 335 | year = "2004", 336 | month = "Jan.", 337 | pages = "59-67", 338 | } 339 | 340 | @Article{Dendrinos91Enhance, 341 | author = {M. Dendrinos and S. Bakamidis and G. Carayannis}, 342 | title = {Speech enhancement from noise: A regenerative approach}, 343 | journal = sc, 344 | volume = "10", 345 | number = "2", 346 | year = "1991", 347 | month = "Feb.", 348 | pages = "45-57", 349 | } 350 | 351 | @Article{Jensen95Subspace, 352 | author = {S. H. Jensen and P. C. Hansen and S. D. Hansen and J. A. S{\o}ensen}, 353 | title = {Reduction of broad-band noise in speech by truncated {QSVD}}, 354 | journal = tsap, 355 | volume = "3", 356 | number = "6", 357 | year = "1995", 358 | month = "Nov.", 359 | pages = "439-444", 360 | } 361 | 362 | @Article{Ephraim95Subspace, 363 | author = {Y. Ephraim and H. L. {Van Trees}}, 364 | title = {A signal subspace approach for speech enhancement}, 365 | journal = tsap, 366 | volume = "3", 367 | number = "4", 368 | year = "1995", 369 | month = "Jul.", 370 | pages = "251-266", 371 | } 372 | 373 | @InProceedings{Huang98Subspace, 374 | author = {J. Huang and Y. Zhao}, 375 | title = {An energy-constraind signal subspace method for speech enhancement and recognition in colored noise}, 376 | booktitle = icassp98, 377 | year = "1998", 378 | month = icassp98month, 379 | address = icassp98addr, 380 | volume = "1", 381 | pages = "377-380", 382 | } 383 | 384 | @Article{Rezayee01Subspace, 385 | author = {A. Rezayee and S. Gazor}, 386 | title = {An adaptive {KLT} approach for speech enhancement}, 387 | journal = tsap, 388 | volume = "9", 389 | number = "2", 390 | year = "2001", 391 | month = "Feb.", 392 | pages = "87-95", 393 | } 394 | 395 | @Article{Mittal00Subpsace, 396 | author = {U. Mittal and N. Phamdo}, 397 | title = {Signal/noise {KLT} based approach for enhancing speech degraded by colored noise}, 398 | journal = tsap, 399 | volume = "8", 400 | number = "2", 401 | year = "2000", 402 | month = "Mar.", 403 | pages = "159-167", 404 | } 405 | 406 | @Article{Dautrich83NoiseEffect, 407 | author = {B. Dautrich and L. Rabiner and T. Martin}, 408 | title = {On the effects of varying filter bank parameters on isolated word recognition}, 409 | journal = tassp, 410 | volume = "31", 411 | number = "4", 412 | year = "1983", 413 | month = "Aug.", 414 | pages = "793-806", 415 | } 416 | 417 | @Article{Picone93sigModeling, 418 | author = {J. W. Picone}, 419 | title = {Signal modeling techniques in speech recognition}, 420 | journal = pieee, 421 | volume = "81", 422 | number = "9", 423 | year = "1993", 424 | month = "Sep.", 425 | pages = "1215-1247", 426 | } 427 | 428 | @Article{Ephraim99Cep, 429 | author = {Y. Epraim and M. Rahim}, 430 | title = {On second order statistics and linear estimation of cepstral coefficients}, 431 | journal = tsap, 432 | volume = "7", 433 | number = "2", 434 | year = "1999", 435 | month = "Mar.", 436 | pages = "162-176", 437 | } 438 | 439 | @Book{Papoulis, 440 | key = "probability", 441 | author = "A. Papoulis and S. U. Pillai", 442 | title = "Probability, random variables and stochastic processes", 443 | year = "2002", 444 | publisher = "McGraw Hill", 445 | edition = "4", 446 | } 447 | 448 | @misc{mathword, 449 | title = "{MathWorld} website, available at: http://mathworld.wolfram.com/", 450 | } 451 | 452 | @Book{MitraDSP, 453 | author = "S. K. Mitra", 454 | title = "Digital signal processing: a computer-based approach", 455 | year = "2002", 456 | publisher = "Prentice-Hall", 457 | edition = "2", 458 | } 459 | 460 | @Book{QuatieriDTSSP, 461 | author = "T. F. Quatieri", 462 | title = "Discrete-Time Speech Signal Processing: Principles and Practice", 463 | year = "2001", 464 | publisher = "Prentice-Hall", 465 | } 466 | 467 | @Book{Oppenheim99DTSP, 468 | author = "A. V. Oppenheim and R. W. Schafer and J. R. Buck", 469 | title = "Discrete-Time Signal Processing", 470 | year = "1999", 471 | publisher = "Prentice-Hall", 472 | } 473 | 474 | @Book{Oppenheim75DSP, 475 | author = "A. V. Oppenheim and R. W. Schafer", 476 | title = "Digital signal processing", 477 | year = "1975", 478 | publisher = "Prentice-Hall", 479 | } 480 | 481 | @Book{RabinaSR, 482 | author = "L. Rabiner and B. H. Juang", 483 | title = "Fundamentals of Speech Recognition", 484 | year = "1993", 485 | publisher = "Prentice-Hall", 486 | } 487 | 488 | @Book{Huang00SpokenLangProc, 489 | author = "X. D. Huang and A. Acero and H. W. Hon", 490 | title = "Spoken language processing: A guide to theory, algorithm, and system development", 491 | year = "2001", 492 | publisher = "Prentice-Hall", 493 | } 494 | 495 | @Book{KayEstimation, 496 | author = "S. M. Kay", 497 | title = "Fundamentals of statistical signal processing: Estimation theory", 498 | year = "1993", 499 | publisher = "Prentice-Hall", 500 | } 501 | 502 | @Book{Bekesy60Hearing, 503 | author = "G. von B\'{e}k\'{e}sy", 504 | title = "Experiments in Hearing", 505 | year = "1960", 506 | publisher = "McGraw-Hill", 507 | } 508 | 509 | @Book{Duda01Pattern, 510 | author = "R. O. Duda and P. E. Hart and D. G. Stork", 511 | title = "Pattern classification", 512 | year = "2001", 513 | publisher = "John Wiley \& Sons Inc.", 514 | edition = "2", 515 | } 516 | 517 | @InProceedings{Molau03Norm, 518 | author = {S. Molau and F. Hilger and H. Ney}, 519 | title = {Feature space normalization in adverse acoustic conditions}, 520 | booktitle = icassp03, 521 | year = "2003", 522 | month = icassp03month, 523 | address = icassp03addr, 524 | volume = "1", 525 | pages = "656-659", 526 | } 527 | 528 | @InProceedings{Liu93CMN, 529 | author = {F. H. Liu and R. M. Stern and X. Huang and A. Acero}, 530 | title = {Efficient cepstral normalization for robust speech recognition}, 531 | booktitle = hltw93, 532 | year = "1993", 533 | month = hltw93month, 534 | address = hltw93addr, 535 | pages = "69-74", 536 | } 537 | 538 | @InProceedings{Acero95CMN, 539 | author = {A. Acero and X. Huang}, 540 | title = {Augmented cepstral normalization for robust speech recognition}, 541 | booktitle = asr95 542 | year = "1995", 543 | month = asr95month, 544 | address = asr95addr, 545 | } 546 | 547 | @Article{Moreno98DataDriven, 548 | author = {P. J. Moreno and B. Raj and R. M. Stern}, 549 | title = {Data-driven environmental compensation for speech recognition: A unified appraoch}, 550 | journal = sc, 551 | volume = "24", 552 | number = "4", 553 | year = "1998", 554 | month = "Jul.", 555 | pages = "267-285", 556 | } 557 | 558 | @InProceedings{Deng00SPLICE, 559 | author = {L. Deng and A. Acero and M. Plumpe and X. D. Huang}, 560 | title = {Large-vocabulary speech recognition under adverse acoustic environment}, 561 | booktitle = icslp00, 562 | year = "2000", 563 | month = icslp00month, 564 | address = icslp00addr, 565 | volumn = "3", 566 | pages = "806-809", 567 | } 568 | 569 | @InProceedings{Deng01SPLICE, 570 | author = {L. Deng and A. Acero and L. Jiang and J. Droppo and X. D. Huang}, 571 | title = {High-performance robust speech recognition using stereo training data}, 572 | booktitle = icassp01, 573 | year = "2001", 574 | month = icassp01month, 575 | address = icassp01addr, 576 | volumn = "1", 577 | pages = "301-304", 578 | } 579 | 580 | @InProceedings{Droppo01SPICE_AURORA2, 581 | author = {J. Droppo and L. Deng and A. Acero}, 582 | title = {Evaluation of the {SPLICE} algorithm on the {Aurora2} database}, 583 | booktitle = euro01, 584 | year = "2001", 585 | month = euro01month, 586 | address = euro01addr, 587 | pages = "217-220", 588 | } 589 | 590 | @InProceedings{Droppo02SPLICE_Uncertainty, 591 | author = {J. Droppo and L. Deng and A. Acero}, 592 | title = {Uncertainty decoding with {SPLICE} for noise robust speech recognition}, 593 | booktitle = icassp02, 594 | year = "2002", 595 | month = icassp02month, 596 | address = icassp02addr, 597 | volumn = "1" 598 | pages = "57-60", 599 | } 600 | 601 | @InProceedings{Deng02Bayesian, 602 | author = {L. Deng and J. Droppo and A. Acero}, 603 | title = {A {Bayesian} approach to speech feature enhancement using the dynamic cepstral prior}, 604 | booktitle = icassp02, 605 | year = "2002", 606 | month = icassp02month, 607 | address = icassp02addr, 608 | volumn = "1" 609 | pages = "829-832", 610 | } 611 | 612 | @Article{Deng05Compare, 613 | author = {L. Deng and J. Wu and J. Droppo and A. Acero}, 614 | title = {Analysis and comparison of two speech feature extraction/compensation algorithms}, 615 | journal = spl, 616 | volume = "12", 617 | number = "6", 618 | year = "2005", 619 | month = "Jun.", 620 | pages = "477-480", 621 | } 622 | 623 | @Article{Deng03Noise, 624 | author = {L. Deng and J. Droppo amd A. Acero}, 625 | title = {Recursive estimation of nonstationary noise using iterative stochastic approximation for robust speech recognition}, 626 | journal = tsap, 627 | volume = "11", 628 | number = "6", 629 | year = "2003", 630 | month = "Nov.", 631 | pages = "568-580", 632 | } 633 | 634 | @Article{Deng04Cep, 635 | author = {L. Deng and J. Droppo amd A. Acero}, 636 | title = {Estimating cepstrum of speech under the presence of noise using a joint prior of static and dynamic features}, 637 | journal = tsap, 638 | volume = "12", 639 | number = "3", 640 | year = "2004", 641 | month = "May", 642 | pages = "218-223", 643 | } 644 | 645 | @Article{Deng04LogMel, 646 | author = {L. Deng and J. Droppo amd A. Acero}, 647 | title = {Enhancement of Log Mel power spectra of speech using a phase-sensitive model of the acoustic environment and sequential estimation of the corrupting noise}, 648 | journal = tsap, 649 | volume = "12", 650 | number = "2", 651 | year = "2004", 652 | month = "Mar.", 653 | pages = "133-143", 654 | } 655 | 656 | @Article{Deng05Var, 657 | author = {L. Deng and J. Droppo amd A. Acero}, 658 | title = {Dynamic compensation of {HMM} variances using the feature enhancement uncertainty computed from a parametri model of speech distortion}, 659 | journal = tsap, 660 | volume = "13", 661 | number = "3", 662 | year = "2005", 663 | month = "May", 664 | pages = "412-421", 665 | } 666 | 667 | @Article{Gales93PMC, 668 | author = {M. J. F. Gales and S. J. Young}, 669 | title = {Cepstral parameter compensation for {HMM} recognition}, 670 | journal = sc, 671 | volume = "12", 672 | number = "3", 673 | year = "1993", 674 | month = "Jul.", 675 | pages = "231-239", 676 | } 677 | 678 | @Article{Leggetter95MLLR, 679 | author = {C. J. Leggetter and P. C. Woodland}, 680 | title = {Maximum likelihood linear regression for speaker adaptation of continuous density hidden {Markov} models}, 681 | journal = csl, 682 | volume = "9", 683 | number = "2", 684 | year = "1995", 685 | month = "Apr.", 686 | pages = "171-185", 687 | } 688 | 689 | @Article{Lee94MAP, 690 | author = {J. L. Gauvain and C. H. Lee}, 691 | title = {Maximum \emph{a~posterirori} estimation for multivariate {Gaussian} mixture observations of {Markov} chains}, 692 | journal = tsap, 693 | volume = "2", 694 | number = "2", 695 | year = "1994", 696 | month = "Apr.", 697 | pages = "291-298", 698 | } 699 | 700 | @Article{Huo95MAP, 701 | author = {Q. Huo and C. Chan and C. H. Lee}, 702 | title = {Bayesian adaptive learning of the parameters of hidden {Markov} model for speech recgonition}, 703 | journal = tsap, 704 | volume = "3", 705 | number = "5", 706 | year = "1995", 707 | month = "Sep.", 708 | pages = "334-345", 709 | } 710 | 711 | @Article{Lee98Review, 712 | author = {C. H. Lee}, 713 | title = {On stochastic feature and model compensation approaches to robust speech recognition}, 714 | journal = sc, 715 | volume = "25", 716 | number = "1", 717 | year = "1998", 718 | month = "Aug.", 719 | pages = "29-47", 720 | } 721 | 722 | @Article{Huo00BPC, 723 | author = {Q. Huo and C. H. Lee}, 724 | title = {A {Bayesian} predictive approach to robust speech recognition}, 725 | journal = tsap, 726 | volume = "8", 727 | number = "8", 728 | year = "2000", 729 | month = "Nov.", 730 | pages = "200-204", 731 | } 732 | 733 | @Article{Raj05MFT, 734 | author = {B. Raj and R. M. Stern}, 735 | title = {Missing-feature approaches in speech reconition}, 736 | journal = spm, 737 | volume = "22", 738 | number = "5", 739 | year = "2005", 740 | month = "Sep.", 741 | pages = "101-116", 742 | } 743 | 744 | @Article{Raj04MFT, 745 | author = {B. Raj and M. L. Seltzer and R. M. Stern}, 746 | title = {Reconstruction of missing features for robust speech recognition}, 747 | journal = sc, 748 | volume = "43", 749 | number = "4", 750 | year = "2004", 751 | pages = "275-296", 752 | } 753 | 754 | @Article{Cooke2001MFT, 755 | author = {M. Cooke and P. Green and L. Josifovski and A. Vizinho}, 756 | title = {Robust automatic speech recognition with missing and uncertain acoustic data}, 757 | journal = sc, 758 | volume = "34", 759 | year = "2001", 760 | pages = "267-285", 761 | } 762 | 763 | @InProceedings{VanHamme03MFT, 764 | author = {Hugo {Van hamme}}, 765 | title = {Robust speech recognition using missing feature theory in the cepstral or {LDA} domain}, 766 | booktitle = euro03, 767 | year = "2003", 768 | month = euro03month, 769 | address = euro03addr, 770 | pages = "3089-3092", 771 | } 772 | 773 | @InProceedings{VanHamme04MFT, 774 | author = {Hugo {Van hamme}}, 775 | title = {Robust speech recognition using cepstral domain missing data techniques and noisy mask}, 776 | booktitle = icassp04, 777 | year = "2004", 778 | month = icassp04month, 779 | address = icassp04addr, 780 | volumn = "1", 781 | pages = "213-216", 782 | } 783 | 784 | @Article{Seltzer04Mask, 785 | author = {M. L. Seltzer and B. Raj and R. M. Stern}, 786 | title = {A {Bayesian} framework for spectrographic mask estimation for missing feature speech recognition}, 787 | journal = sc, 788 | volume = "43", 789 | year = "2004", 790 | number = "4", 791 | pages = "379-393", 792 | } 793 | 794 | @InProceedings{Barker00Mask, 795 | author = {J. Barker and L. Josifovski and M. Cooke and P. Green}, 796 | title = {Soft decisions in missing data techniques for robust automatic speech recognition}, 797 | booktitle = icslp00, 798 | year = "2000", 799 | month = icslp00month, 800 | address = icslp00addr, 801 | pages = "373-376", 802 | } 803 | 804 | @InProceedings{Barker01MFT, 805 | author = {J. Barker and M. Cooke and P. Green}, 806 | title = {Robust {ASR} based on clean speech models: An evaluation of missing data techniques for connected digit recognition in noise}, 807 | booktitle = euro01, 808 | year = "2001", 809 | month = euro01month, 810 | address = euro01addr, 811 | pages = "213-216", 812 | } 813 | 814 | @Article{Palomaki04Binaural, 815 | author = {K. J. Palomaki and G. J. Brown and D. L. Wang}, 816 | title = {A binaural processor for missing data speech recognition in the presence of noise and small-room reverberation}, 817 | journal = sc, 818 | volume = "43", 819 | year = "2004", 820 | number = "4", 821 | pages = "361-378", 822 | } 823 | 824 | @PhdThesis{AceroPHD, 825 | author = "A. Acero", 826 | title = "Acoustical and environmental robustness in automatic speech recognition", 827 | year = "1990", 828 | school = cmuece, 829 | } 830 | 831 | @PhdThesis{OhshimaPHD, 832 | author = "Y. Ohshima", 833 | title = "Environmental robustness in speech recognition using physiologically-motivated signal processing", 834 | year = "1993", 835 | school = cmuece, 836 | } 837 | 838 | @PhdThesis{GalesPHD, 839 | author = "Y. Ohshima", 840 | title = "Model-based techniques for noise robust speech recognition", 841 | year = "1995", 842 | school = "Gonville and Caius College, University of Cambridge", 843 | } 844 | 845 | @PhdThesis{MorenoPHD, 846 | author = "P. J. Moreno", 847 | title = "Speech recognition in noisy environments", 848 | year = "1996", 849 | school = cmuece, 850 | } 851 | 852 | @PhdThesis{RajPHD, 853 | author = "B. Raj", 854 | title = "Reconstruction of incomplete spectrograms for robust speech recognition", 855 | year = "2000", 856 | school = cmuece, 857 | } 858 | 859 | @PhdThesis{MolauPHD, 860 | author = "S. Molau", 861 | title = "Normalization in the acoustical feature space for improved speech recognition", 862 | year = "2003", 863 | school = "Aachen University", 864 | } 865 | 866 | @PhdThesis{CPChenPHD, 867 | author = "C. P. Chen", 868 | title = "Noise robustness in automatic speech recognition", 869 | year = "2004", 870 | school = "Electrical Engineering, University of Washington", 871 | } 872 | 873 | @PhdThesis{XiangLiPHD, 874 | author = "X. Li", 875 | title = "Combination and generation of parallel feature streams for improved speech recognition", 876 | year = "2005", 877 | school = cmuece, 878 | } 879 | 880 | @Article{Furui81CMN, 881 | author = {S. Furui}, 882 | title = {Cepstral analysis technique for automatic speaker verification}, 883 | journal = tassp, 884 | volume = "29", 885 | number = "2", 886 | year = "1981", 887 | pages = "254-272", 888 | } 889 | 890 | @InProceedings{viikki98CVN, 891 | author = {O. Viikki and D. Bye and K. Laurila}, 892 | title = {A recursive feature vector normalization approach for robust speech recognition in noise}, 893 | booktitle = icassp98, 894 | year = "1998", 895 | month = icassp98month, 896 | address = icassp98addr, 897 | pages = "733-736", 898 | } 899 | 900 | @Article{Torre05HEQ, 901 | author = {A. de la Torre and A. M. Peinado and J. C. Segura and J. L. Perez-Cordoba and M. C. Benitez and A. J. Rubio}, 902 | title = {Histogram equalization of speech representation for robust Speech Recognition}, 903 | journal = tsap, 904 | volume = "13", 905 | number = "3", 906 | year = "2005", 907 | pages = "355-366", 908 | } 909 | 910 | @Article{Hermansky94RASTA, 911 | author = {H. Hermansky and N. Morgan}, 912 | title = {{RASTA} processing of speech}, 913 | journal = tsap, 914 | volume = "2", 915 | number = "4", 916 | year = "1994", 917 | pages = "578-589", 918 | } 919 | 920 | @Article{Kanedera99Modulation, 921 | author = {N. Kanedera and T. Arai and H. Hermansky and M. Pavel}, 922 | title = {On the relative importance of various components of the modulation spectrum for automatic speech recognition}, 923 | journal = sc, 924 | volume = "28", 925 | number = "1", 926 | year = "1999", 927 | pages = "43-55", 928 | } 929 | 930 | @Article{Hung06Temporal, 931 | author = {J.-W. Hung and L.-S. Lee}, 932 | title = {Optimization of temporal filters for constructing robust features in speech recognition}, 933 | journal = taslp, 934 | volume = "14", 935 | number = "3", 936 | year = "2006", 937 | pages = "808-832", 938 | } 939 | 940 | 941 | @InProceedings{Chen02MVA, 942 | author = "C.-P. Chen and J. Blimes and K. Kirchhoff", 943 | title = "Low-resource noise-robust feature post-processing on {AURORA} 2.0", 944 | booktitle = icslp02, 945 | year = "2002", 946 | month = icslp02month, 947 | address = icslp02addr, 948 | pages = "2445-2448", 949 | } 950 | 951 | @Book{Vaseghi00DSP, 952 | author = "S. V. Vaseghi", 953 | title = "Advanced digital signal processing and noise reduction", 954 | year = "2000", 955 | edition = "2", 956 | publisher = "John Wiley \& Sons", 957 | } 958 | 959 | 960 | @Book{Proakis96DSP, 961 | author = "J. G. Proakis and D. G. Manolakis", 962 | title = "Digital signal processing-principles, algorithms, and applications", 963 | year = "1996", 964 | edition = "3", 965 | publisher = "Prentice-Hall", 966 | } 967 | 968 | @InProceedings{Hermansky95Temporal, 969 | author = "Hynek Hermansky", 970 | title = "Exploring temporal domain for robustness in speech recognition", 971 | booktitle = "International Congress on Acoustic '95", 972 | year = "1995", 973 | month = "Jun.", 974 | address = "Trondheim, Norway", 975 | volumn = "2", 976 | pages = "61-64", 977 | } 978 | 979 | @Article{Nadeu97Temporal, 980 | author = {Climent Nadeu and Pau Pach\`{e}s-Leal and Biing-Hwang Juang}, 981 | title = {Filtering the time sequences of spectral parametrs for speech recognition}, 982 | journal = sc, 983 | volume = "22", 984 | number = "4", 985 | month = "Sep.", 986 | year = "1997", 987 | pages = "315-332", 988 | } 989 | 990 | @InProceedings{Hermansky97ModuSpec, 991 | author = "Hynek Hermansky", 992 | title = "The modulation spectrum in the automatic recognition of speech", 993 | booktitle = asru97, 994 | year = "1997", 995 | month = asru97month, 996 | address = asru97addr, 997 | pages = "140-147", 998 | } 999 | 1000 | @Article{Hermansky98Ears, 1001 | author = {Hynek Hermansky}, 1002 | title = {Should recognizers have ears}, 1003 | journal = sc, 1004 | volume = "25", 1005 | number = "1", 1006 | month = "Aug.", 1007 | year = "1998", 1008 | pages = "3-27", 1009 | } 1010 | 1011 | @Article{deVeth98Norm, 1012 | author = {Johan {de Veth} and Louis Boves}, 1013 | title = {Channel normalization techniques for automatic speech recognition over the telephone}, 1014 | journal = sc, 1015 | volume = "25", 1016 | number = "1", 1017 | month = "Aug.", 1018 | year = "1998", 1019 | pages = "149-164", 1020 | } 1021 | 1022 | @Article{Arai99Temporal, 1023 | author = {Takayuki Arai and Misha Pavel and Hynek Hermansky and Carlos Avendano}, 1024 | title = {Syllable intelligibility for temporally-filtered {LPC} cepstral trajectories}, 1025 | journal = jasa, 1026 | volume = "105", 1027 | number = "5", 1028 | month = "May", 1029 | year = "1999", 1030 | pages = "2783-2791", 1031 | } 1032 | 1033 | @Article{Yuo99Temporal, 1034 | author = {Kuo-Hwei Yuo and Hsiao-Chuan Wang}, 1035 | title = {Robust features for noisy speech recognition based on temporal trajectory filtering of short-time autocorrelation sequences }, 1036 | journal = sc, 1037 | volume = "28", 1038 | number = "1", 1039 | month = "May", 1040 | year = "1999", 1041 | pages = "13-24", 1042 | } 1043 | 1044 | @Article{Nadeu01Temporal, 1045 | author = {Climent Nadeu and Du\s{?}an Macho and Javier Hernando}, 1046 | title = {Time and frequency filtering of filter-bank energies for robust {HMM} speech recognition}, 1047 | journal = sc, 1048 | volume = "34", 1049 | number = "1", 1050 | month = "Apr.", 1051 | year = "2001", 1052 | pages = "93-114", 1053 | } 1054 | 1055 | @InProceedings{Greenberg01ModuSpec, 1056 | author = "Steven Greenberg and Takayuki Arai", 1057 | title = "The relationship between speech intelligibility and the complex modulation spectrum", 1058 | booktitle = euro01, 1059 | year = "2001", 1060 | month = euro01month, 1061 | address = euro01addr, 1062 | pages = "473-476", 1063 | } 1064 | 1065 | @InProceedings{Athineos03FreqLP, 1066 | author = "Marios Athineos and Daniel P. W. Ellis", 1067 | title = "Frequency-domain linear prediction for temporal features", 1068 | booktitle = asru03, 1069 | year = "2003", 1070 | month = asru03month, 1071 | address = asru03addr, 1072 | pages = "473-476", 1073 | } 1074 | 1075 | @Article{Atlas03ModuSpec, 1076 | author = {Les Atlas and Shihab A. Shamma}, 1077 | title = {Joint Acoustic and Modulation Frequency}, 1078 | journal = eurasip_jasp, 1079 | volume = "2003", 1080 | number = "7", 1081 | year = "2003", 1082 | pages = "668-675", 1083 | } 1084 | 1085 | @InProceedings{Atlas04ModuSpec, 1086 | author = "Les Atlas and Qin Li and Jeffrey Thompson", 1087 | title = "Homomorphic modulation spectra", 1088 | booktitle = icassp04, 1089 | year = "2004", 1090 | month = icassp04month, 1091 | address = icassp04addr, 1092 | volumn = "2", 1093 | pages = "761-764", 1094 | } 1095 | 1096 | @Article{Kusumoto05Modu, 1097 | author = {Akiko Kusumoto and Takayuki Arai and Keisuke Kinoshita and Nao Hodoshima and Nancy Vaughan}, 1098 | title = {Modulation enhancement of speech by a pre-processing algorithm for improving intelligibility in reverberant environments}, 1099 | journal = sc, 1100 | volume = "45", 1101 | year = "2005", 1102 | pages = "101-113", 1103 | } 1104 | 1105 | @InProceedings{Aikawa93DynaCep, 1106 | author = "K. Aikawa and H. Singer and H. Kawahara and Y. Tohkura", 1107 | title = "A dynamic cepstrum incorporating time-frequency masking and its application to continuous speech recognition", 1108 | booktitle = icassp93, 1109 | year = "1993", 1110 | month = icassp93month, 1111 | address = icassp93addr, 1112 | volumn = "2", 1113 | pages = "668-671", 1114 | } 1115 | 1116 | @InProceedings{Neumeyer94Temporal, 1117 | author = "L. Neumeyer and M. Weintraub", 1118 | title = "Probabilistic optimum filtering for robust speech recognition", 1119 | booktitle = icassp94, 1120 | year = "1994", 1121 | month = icassp94month, 1122 | address = icassp94addr, 1123 | volumn = "1", 1124 | pages = "417-420", 1125 | } 1126 | 1127 | @InProceedings{Makino83Temporal, 1128 | author = "Makino, S. and Kawabata, T. and Kido, K.", 1129 | title = "Recognition of consonant based on the perceptron model", 1130 | booktitle = icassp83, 1131 | year = "1983", 1132 | month = icassp83month, 1133 | address = icassp83addr, 1134 | volumn = "8", 1135 | pages = "738-741", 1136 | } 1137 | 1138 | @Article{Hilger06QuantileHEQ, 1139 | author = {Florian Hilger and Hermann Ney}, 1140 | title = {Quantile based histogram equalization for noise robust large vocabulary speech recognition}, 1141 | journal = taslp, 1142 | volume = "14", 1143 | number = "3", 1144 | year = "2006", 1145 | pages = "845-854", 1146 | } 1147 | 1148 | @Article{Xiao07TSNspl, 1149 | author = {Xiong Xiao and Eng Siong Chng and Haizhou Li}, 1150 | title = {Temporal structure normalization of speech feature for robust speech recognition}, 1151 | journal = spl, 1152 | volume = "14", 1153 | number = "7", 1154 | year = "2007", 1155 | pages = "500-503", 1156 | } 1157 | 1158 | @InProceedings{Xiao07TSNicassp, 1159 | author = "Xiong Xiao and Eng Siong Chng and Haizhou Li", 1160 | title = "Normalizing the speech modulation spectrum for robust speech recognition", 1161 | booktitle = icassp07, 1162 | year = "2007", 1163 | month = icassp07month, 1164 | address = icassp07addr, 1165 | volumn = "4", 1166 | pages = "1021-1024", 1167 | } 1168 | 1169 | @InProceedings{Xiao07TSNeuro, 1170 | author = "Xiong Xiao and Eng Siong Chng and Haizhou Li", 1171 | title = "Evaluating the temporal structure normalisation technique on the Aurora-4 task", 1172 | booktitle = euro07, 1173 | year = "2007", 1174 | month = euro07month, 1175 | address = euro07addr, 1176 | volumn = "x", 1177 | pages = "x-x", 1178 | } 1179 | 1180 | @InProceedings{Garcia06TES, 1181 | author = "L. Garc\'{\i}a and J.C. Segura and C. Ben\'{\i}tez and J. Ram\'{\i}rez and A. de la Torre", 1182 | title = "Normalization of the inter-frame information using smoothing filtering", 1183 | booktitle = icslp06, 1184 | year = "2006", 1185 | month = icslp06month, 1186 | address = icslp06addr, 1187 | volumn = "1", 1188 | pages = "369-372", 1189 | } 1190 | 1191 | @Article{Chen07MVA, 1192 | author = {C.-P. Chen and J. A. Bilmes}, 1193 | title = {{MVA} Processing of Speech Features}, 1194 | journal = taslp, 1195 | volume = "15", 1196 | number = "1", 1197 | year = "2007", 1198 | pages = "257-270", 1199 | } 1200 | 1201 | @techreport{Parihar02Aurora4doc, 1202 | author = "N. Parihar and J. Picone", 1203 | title = "Aurora Working Group: {DSR} Front End {LVCSR} Evaluation {AU}/384/02", 1204 | institution = "Institute for Signal and Infomation Processing, Mississippi State Univ.", 1205 | address = "MS", 1206 | month = dec, 1207 | year = "2002" 1208 | }; 1209 | 1210 | @electronic{HTKwebsite, 1211 | title = "The {HTK} Website", 1212 | url = "http://htk.eng.cam.ac.uk/", 1213 | month = dec, 1214 | year = "2002" 1215 | }; 1216 | 1217 | @manual{AFEmanual, 1218 | title = "Speech processing, transmission and quality aspects 1219 | ({STQ}); distributed speech recognition; advanced front-end feature 1220 | extraction algorithm; compression algorithms", 1221 | howpublished = "{{ES} 202 050 Recommendation}", 1222 | organization = "ETSI", 1223 | year = "2002" 1224 | }; 1225 | 1226 | @Article{Shannon95temporal, 1227 | author = {R. V. Shannon and F.-G. Zeng and V. Kamath and J. Wygonski and M. Ekelid}, 1228 | title = {Speech Recognition with Primarily Temporal Cues}, 1229 | journal = "Science, New Series", 1230 | volume = "270", 1231 | number = "5234", 1232 | year = "1995", 1233 | pages = "303-304", 1234 | }; 1235 | 1236 | @Article{Boll79Subtraction, 1237 | author = {Steven F. Boll}, 1238 | title = {Suppression of acoustic noise in speech using spectral subtraction}, 1239 | journal = tassp, 1240 | volume = "27", 1241 | number = "2", 1242 | year = "1979", 1243 | pages = "113-120", 1244 | }; 1245 | 1246 | @Article{Lockwood92subtraction, 1247 | author = {P. Lockwood and J. Boudy}, 1248 | title = {Experiments with a nonlinear spectral subtractor ({NSS}), {H}idden {M}arkov {M}odels 1249 | and projection, for robust recognition in cars}, 1250 | journal = sc, 1251 | volume = "11", 1252 | number = "2-3", 1253 | year = "1992", 1254 | pages = "215-228", 1255 | }; 1256 | 1257 | @Article{Suh07classHEQ, 1258 | author = {Youngjoo Suh and Mikyong Ji and Hoirin Kim}, 1259 | title = {Probabilistic class histogram equalization for robust speech recognition}, 1260 | journal = spl, 1261 | volume = "14", 1262 | number = "4", 1263 | year = "2007", 1264 | pages = "287-290", 1265 | }; 1266 | 1267 | @Article{Segura04segHEQ, 1268 | author = {J. C. Segura and Carmen Ben$\acute{i}$tez and A. de la Torre and A. J. Rubio and Javier Ram$\acute{i}$rez}, 1269 | title = {Cepstral domain segmental nonlinear feature transformations for robust speech recognition}, 1270 | journal = spl, 1271 | volume = "11", 1272 | number = "5", 1273 | year = "2004", 1274 | pages = "517-520", 1275 | }; 1276 | 1277 | @Article{Morgan05temp_feature, 1278 | author = {N. Morgan and Q. Zhu and A. Stolcke and K. Sonmez and S. Sivadas 1279 | and T. Shinozaki and M. Ostendorf and P. Jain and H. Hermansky and 1280 | D. Ellis and G. Doddington and B. Chen and O. Cetin and H. Bourlard and M. Athineos}, 1281 | title = {Pushing the envelop--aside}, 1282 | journal = spm, 1283 | volume = "22", 1284 | number = "5", 1285 | year = "2005", 1286 | pages = "81-88", 1287 | }; 1288 | 1289 | @Article{Afify05compensation, 1290 | author = {Mohamed Afify}, 1291 | title = {Accurate compensation in the log-spectral domain for noisy speech recognition}, 1292 | journal = tsap, 1293 | volume = "13", 1294 | number = "3", 1295 | year = "2005", 1296 | pages = "388-398", 1297 | }; 1298 | 1299 | @Article{Kim07MMI_LST, 1300 | author = {Donghyun Kim and Dongsuk Yook}, 1301 | title = {Linear spectral transformation for robust speech recognition using maximum mutual information}, 1302 | journal = spl, 1303 | volume = "14", 1304 | number = "7", 1305 | year = "2007", 1306 | pages = "496-499", 1307 | }; 1308 | 1309 | @Article{Furui86dynamicfeature, 1310 | author = {S. Furui}, 1311 | title = {Speaker independent isolated word recognizer using dynamic features of speech spectrum}, 1312 | journal = tassp, 1313 | volume = "34", 1314 | number = "1", 1315 | year = "1986", 1316 | pages = "52-59", 1317 | }; 1318 | -------------------------------------------------------------------------------- /subfigure.sty: -------------------------------------------------------------------------------- 1 | % \iffalse % subfigure.dtx 2 | % Subfigure/table macros for use with the LaTeX figure environment. 3 | % $Header: subfigure.dtx,v 2.0 95/03/06 14:43:14 sdc Exp $ 4 | %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | % Copyright (C) 1988-1995 Steven Douglas Cochran. 6 | % 7 | % The subfigure package is free software; you can redistribute it 8 | % and/or modify it under the terms of the GNU General Public License 9 | % as published by the Free Software Foundation; either version 2 of 10 | % the License, or (at your option) any later version. 11 | % 12 | % The subfigure package is distributed in the hope that it will be 13 | % useful, but WITHOUT ANY WARRANTY; without even the implied warranty 14 | % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program; if not, write to the Free Software 19 | % Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 | %% @LaTeX-style-file{ 22 | %% Author = "Steven Douglas Cochran", 23 | %% Version = "2.0", 24 | %% Date = "1995/03/06", 25 | %% Time = "14:43:14", 26 | %% Filename = "subfigure.sty", 27 | %% Address = "Digital Mapping Laboratory, School of Computer Science 28 | %% Carnegie-Mellon University, 5000 Forbes Avenue 29 | %% Pittsburgh, PA 15213-3891, USA", 30 | %% Telephone = "(412) 268-5654", 31 | %% FAX = "(412) 268-5576", 32 | %% Email = "sdc+@CS.CMU.EDU (Internet)", 33 | %% CodeTable = "ISO/ASCII", 34 | %% Keywords = "LaTeX2e, float, figure, table", 35 | %% Supported = "yes", 36 | %% Abstract = "LaTeX package for providing support for the 37 | %% inclusion of small, `sub,' figures and tables. It 38 | %% simplifies the positioning, captioning and 39 | %% labeling of them within a single figure or table 40 | %% environment. In addition, this package allows 41 | %% such sub-captions to be written to the List of 42 | %% Figures or List of Tables if desired." 43 | %% } 44 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 | % 46 | %%<*driver> 47 | %\documentclass{ltxdoc} 48 | %\setlength\hfuzz{26pt} 49 | %\usepackage{subfigure} 50 | %\begin{document} 51 | %\DocInput{subfigure.dtx} 52 | %\input{subfigure.dtx} 53 | %\end{document} 54 | %% 55 | % 56 | % \fi 57 | % 58 | % \changes{v1.0}{05 Mar 1986}{Created.} 59 | % 60 | % \changes{v1.1}{02 Nov 1988}{Initial revision.} 61 | % 62 | % \changes{v1.2}{30 Aug 1989}{Added a separate bottom margin and 63 | % expanded the comments.} 64 | % 65 | % \changes{v1.3}{22 Oct 1990}{Changed test for empty caption inside of 66 | % \cmd{\@subfigure} to compare tokens and not the caption vs.\ 67 | % \cmd{\@empty}. The former (incorrect) test caused an error when the 68 | % first two letters of the caption were the same.} 69 | % 70 | % \changes{v1.4}{27 Jun 1992}{Added a hack to allow the \cmd{\label} 71 | % command to be used within the body of the subfigure giving a 72 | % reference label in the form \cmd{\arabic{thefigure}\thesubfigure}. 73 | % Added standard file header for style.} 74 | % 75 | % \changes{v1.5}{11 Aug 1992}{Fixed a bug which caused an problem with 76 | % captions that contained expressions like \cmd{\sqrt}; This was 77 | % pointed out by Tom Scavo (scavo\@cie.uoregon.edu). A separate bug 78 | % was fixed which caused different sized captions to be misaligned; 79 | % This problem was pointed out by Simon Marshall 80 | % (S.Marshal\@Hull.ac.uk). Also cleaned up the code a mite and 81 | % {\bf changed} the figure spacing so that if no optional section is 82 | % given, then the figure is only followed by \cmd{\subfigbottomskip} 83 | % and not that plus $(\cmd{\subfigcapskip} + 84 | % \cmd{\strut} \hbox{height})$. This should make it easier to adjust 85 | % spacing as desired.} 86 | % 87 | % \changes{v1.6}{13 May 1993}{Changed to use the \cmd{\thefigure} 88 | % macro in building the referenced label. The old form caused a 89 | % problem when used with the report.sty as pointed out by Andrew 90 | % Anselmo (anselmo\@cumesb.mech.columbia.edu). Also modified to 91 | % restrict the scope of the subfigure \cmd{\label} to the body of the 92 | % subfigure. Added \cmd{\@thesubfigure} to allow a separate labeling 93 | % of the subfigure in the figure and in the text. By default it is 94 | % the same as \cmd{\thesubfigure} with space appended. Added some 95 | % 5 hooks to print the subfigure captions to the list-of-figures file 96 | % if desired. Finally, added the corresponding support for sub-tables 97 | % as well as sub-figures. NOTE: the optional caption is now a moving 98 | % argument and any fragile commands that appear in the caption must be 99 | % preceded by a \cmd{\protect} (just like that of the \cmd{\caption} 100 | % command).} 101 | % 102 | % \changes{v2.0}{06 Mar 1995}{This version of \cmd{\subfigure} is the 103 | % first to be ported to \LaTeXe\ (with backward compatibility to 104 | % \LaTeX2.09). \cmd{\subfigure} and \cmd{\subtable} are now identical 105 | % and the environment controls internal differences between them. 106 | % Now, the caption setting portion of \cmd{\@subfloat} is broken into 107 | % the separate macros \cmd{\@makesubfigurecaption} and 108 | % \cmd{\@makesubtablecaption} to allow a separate hook for the 109 | % modification of how the caption is constructed and to allow the 110 | % table and figure captions to be different. In addition, support of 111 | % the `normal', `hang', `center', `centerlast', 'nooneline'; 112 | % `scriptsize', \ldots, `Large'; `up', `it', `sl', `sc', `md', `bf', 113 | % `rm', `sf', and `tt' package options were added for compatibility 114 | % with the caption.sty by H.A. Sommerfeldt.} 115 | % 116 | % \DoNotIndex{\@for,\@ne,\addcontentsline,\addtolength,\advance,\alph} 117 | % \DoNotIndex{\begingroup,\bfseries,\bgroup,\box,\csname,\DeclareOption} 118 | % \DoNotIndex{\def,\do,\egroup,\else,\endcsname,\endgroup,\ExecuteOption} 119 | % \DoNotIndex{\ExecuteOptions,\fi,\footnotesize,\gdef,\hbox,\hfil,\ifdim} 120 | % \DoNotIndex{\ifnum,\ifx,\ignorespaces,\itshape,\Large,\large} 121 | % \DoNotIndex{\leavevmode,\let,\long,\mdseries,\multiply,\NeedsTeXFormat} 122 | % \DoNotIndex{\newcommand,\newcounter,\newif,\noexpand,\normalsize} 123 | % \DoNotIndex{\par,\pargox,\ProcessOptions,\protect,\ProvidesPackage} 124 | % \DoNotIndex{\relax,\renewcommand,\rmfamily,\sbox,\scriptsize,\scshape} 125 | % \DoNotIndex{\setbox,\setcounter,\setlength,\sffamily,\slshape,\small} 126 | % \DoNotIndex{\space,\string,\strut,\ttfamily,\tw@,\typeout,\undefined} 127 | % \DoNotIndex{\upshape,\usebox,\vbox,\vskip,\vtop,\wd,\xdef,\z@skip} 128 | % 129 | % \CheckSum{340} 130 | % 131 | % \makeatletter 132 | % \newcommand{\setcaptype}[1]{% 133 | % \def\@captype{#1}% 134 | % \def\@currentlabel{\@nameuse{p@#1}\@nameuse{thesub#1}}} 135 | % \makeatother 136 | % \newcommand{\regsf}[1]{{\upshape\mdseries\sffamily #1}} 137 | % 138 | % \title{The \regsf{subfigure} package\footnote{This paper documents 139 | % the \regsf{subfigure} package v2.0, last revised 1995/03/06.}} 140 | % \author{Steven Douglas Cochran\\[5pt] 141 | % Digital Mapping Laboratory, School of Computer Science \\ 142 | % Carnegie-Mellon University, 5000 Forbes Avenue \\ 143 | % Pittsburgh, PA 15213--3891, USA\\[5pt] 144 | % \texttt{sdc+@cs.cmu.edu}} 145 | % \date{1995/03/06} 146 | % 147 | % \maketitle 148 | % 149 | % \begin{abstract} 150 | % \noindent 151 | % This article documents the \LaTeX\ package `\regsf{subfigure}', 152 | % which provides support for the inclusion of small, `sub', figures and 153 | % tables. It simplifies the positioning, captioning and labeling of 154 | % such objects within a single figure or table environment. In 155 | % addition, this package allows such sub-captions to be written to a 156 | % List-of-Figures or List-of-Tables if desired. The 157 | % `\regsf{subfigure}' package also cooperates with the 158 | % `\regsf{caption}' package by H.A. Sommerfeldt \cite{Somm95} and 159 | % should be compatible with all other packages that modify or extend 160 | % the float environment. 161 | %\end{abstract} 162 | % 163 | % \section{Introduction} 164 | % This package provides support for the manipulation and reference of 165 | % small or `sub' figures and tables within a single figure or table 166 | % environment\@.\footnote{Additional float environments may be easily 167 | % added as shown in section~\ref{sec:customfloat}.} It is 168 | % convenient to use this package when your subfigures are to be 169 | % separately captioned, referenced, or whose captions are to be 170 | % included in the List-of-Figures. 171 | % 172 | % If you simply want to center your figure, then use |\centerline| or 173 | % the |center| environment to do so. If you wrap your figure in a 174 | % |\parbox| or a |minipage| of a short width, then you can place 175 | % multiple figures or tables side-by-side. For example, the following 176 | % will put two images side-by-side in a single figure as shown in 177 | % Figure~\ref{fig:2figs}: 178 | % 179 | % \begin{center} 180 | % \setcaptype{figure} 181 | % \fbox{% 182 | % \begin{minipage}{3.5in}% 183 | % \begin{center} 184 | % \fboxsep=-\fboxrule 185 | % \parbox{20mm}{% 186 | % \fbox{{\hbox to 20mm{\vbox to 15mm{\vfil\null}\hfil}}}}% 187 | % \hspace{2.5mm}% 188 | % \parbox{20mm}{% 189 | % \fbox{\hbox to 20mm{\vbox to 15mm{\vfil\null}\hfil}}}\\[6pt] 190 | % \caption{Here are two figures side-by-side.}% 191 | % \label{fig:2figs}% 192 | % \end{center}% 193 | % \end{minipage}} 194 | % \end{center} 195 | % 196 | % \begin{verbatim} 197 | % \begin{figure}% 198 | % \begin{center}% 199 | % \parbox{2.5in}{\epsfbox{...}}% 200 | % \hspace{.25in}% 201 | % \parbox{2.5in}{\epsfbox{...}}% 202 | % \end{center}% 203 | % \caption{Here are two figures side-by-side.}% 204 | % \end{figure} 205 | % \end{verbatim} 206 | % 207 | % \section{The user interface} 208 | % To use this package place 209 | % \begin{quote} 210 | % |\usepackage|\oarg{options}\{\texttt{subfigure}\} 211 | % \end{quote} 212 | % in the preamble of your document. The following options are 213 | % supported: 214 | % \DeleteShortVerb{\|} 215 | % 216 | % \begin{center} 217 | % \raggedright 218 | % \begin{tabular}{|p{1.45in}|p{3.12in}|} \hline 219 | % \multicolumn{1}{|c|}{Option} 220 | % & \multicolumn{1}{c|}{Description}\\ \hline 221 | % \texttt{normal} & Provides `normal' captions, this is the 222 | % default. \\ \hline 223 | % \texttt{hang} & Causes the label to be a hanging 224 | % indentation to the caption paragraph. 225 | % \\ \hline 226 | % \texttt{center} & Causes each line of the paragraph to be 227 | % separately centered. \\ \hline 228 | % \texttt{centerlast} & Causes the last line only to be centered. 229 | % \\ \hline 230 | % \texttt{nooneline} & If a caption fits on one line it will, by 231 | % default, be centered. This option 232 | % left-justifies the one line caption. \\ \hline 233 | % \texttt{scriptsize{\rm, \ldots,\ }Large} 234 | % & Sets the font size of the captions. 235 | % \\ \hline 236 | % \texttt{up{\rm,} it{\rm,} sl{\rm,} sc{\rm,} md{\rm,}\efill 237 | % bf{\rm,} rm{\rm,} sf \textrm{or} tt} 238 | % & Sets the font attributes of the caption 239 | % labels. \\ \hline 240 | % \end{tabular}% 241 | % \end{center} 242 | % \MakeShortVerb{\|} 243 | % 244 | % \noindent 245 | % Within a \texttt{figure} or \texttt{table} environment, you 246 | % can use the following macros to create a subfigure or subtable 247 | % ``box'' with an optional \texttt{caption} under a \texttt{figure}. 248 | % The \texttt{figure} is centered with |\subfigtopskip| of vertical 249 | % space added above. If there is a \texttt{caption}, then 250 | % |\subfigcapskip| vertical space is added below the \texttt{figure} 251 | % followed by the \texttt{caption}. Finally, |\subfigbottomskip| of 252 | % vertical space added at the bottom. 253 | % 254 | % \begin{quote} 255 | % |\subfigure|\oarg{caption}\marg{figure}\\ 256 | % |\subtable|\oarg{caption}\marg{figure} 257 | % \end{quote} 258 | % 259 | % The resulting ``box'' is made such that its baseline is at the 260 | % bottom of the \texttt{figure} portion. Therefore, no matter how 261 | % tall the figures and/or long the captions, adjacent subfigures are 262 | % aligned at the bottom of their respective figures. 263 | % 264 | % If a \texttt{caption} is given (including the null \texttt{caption} 265 | % `{\ttfamily [$\;$]}') then the subfigure is labeled with a counter 266 | % formatted by the macro `|\thesubfigure|' which returns, by default, 267 | % `(a)', `(b)', etc. If desired, this macro may be redefined. The 268 | % counter used for labeling the subfigures is |subfigure| and is 269 | % incremented for each subfigure regardless of whether a 270 | % \texttt{caption} was printed. The internals of the |\subtable| macro 271 | % are symmetric to those of the |\subfigure| macro, described above. 272 | % 273 | % If you wish to reference a specific subfigure or subtable, you can 274 | % include a |\label| inside the body of either argument to the 275 | % macro, with the \texttt{figure} argument being the preferred. If 276 | % supplied, the {\sc caption} is a ``moving argument'' and, therefore, 277 | % any ``fragile'' commands contained within it must be |\protect|'ed. 278 | % 279 | % One final note, these macros are actually identical and it is the 280 | % environment that defines whether a |subtable| or |subfigure| will 281 | % be generated and not which macro is used. At the user level, the 282 | % choice of names is purely cosmetic (and historical). 283 | % 284 | % \section{Examples} 285 | % \label{sec:examples} 286 | % The easiest way to explain the use of this package is to give some 287 | % examples. The first example, shown in Figure~\ref{3figs}, specifies 288 | % |\centering| and uses |\\| to control the placement of the 289 | % subfigures. Note that the alignment of the top two subfigures is 290 | % along the bottom of the figure portion of each. 291 | % 292 | % \begin{center} 293 | % \setcaptype{figure} 294 | % \fboxsep=-\fboxrule 295 | % \fbox{% 296 | % \begin{minipage}{3.5in}% 297 | % \raggedright 298 | % \begin{center} 299 | % \subfigure[First]{% 300 | % \fbox{\hbox to 20mm{\vbox to 15mm{\vfil\null}\hfil}}}% 301 | % \hspace{\subfigtopskip}\hspace{\subfigbottomskip}% 302 | % \subfigure[Second Figure]{ 303 | % \fbox{\hbox to 20mm{\vbox to 10mm{\vfil\null}\hfil}}}\\ 304 | % \subfigure[Third]{\label{3figs-c}% 305 | % \fbox{\hbox to 20mm{\vbox to 10mm{\vfil\null}\hfil}}}\\ 306 | % \caption{Three subfigures.}% 307 | % \label{3figs}% 308 | % \end{center} 309 | % \vspace{4pt}% 310 | % Figure~\ref{3figs} contains two top `subfigures' and 311 | % Figure~\ref{3figs-c}. 312 | % \end{minipage}} 313 | % \end{center} 314 | % 315 | % \begin{verbatim} 316 | % \newcommand{\goodgap}{% 317 | % \hspace{\subfigtopskip}% 318 | % \hspace{\subfigbottomskip}} 319 | % ... 320 | % \begin{figure}% 321 | % \centering 322 | % \subfigure[First]{...}\goodgap 323 | % \subfigure[Second Figure]{...}\\ 324 | % \subfigure[Third]{\label{3figs-c}...}% 325 | % \caption{Three subfigures.} 326 | % \label{3figs} 327 | % \end{figure} 328 | % ... 329 | % Figure~\ref{3figs} contains two top `subfigures' and 330 | % Figure~\ref{3figs-c}. 331 | % \end{verbatim} 332 | % 333 | % \noindent 334 | % A second example, shown in Figure~\ref{fig:ex2}, is to change the 335 | % way that the subfigures are labeled and to have the subfigure 336 | % captions printed in the list-of-figures. Here the alignment of the 337 | % figures is accomplished by surrounding them in a |center| 338 | % environment. 339 | % 340 | % \begin{center} 341 | % \setcaptype{figure} 342 | % \fboxsep=-\fboxrule 343 | % \renewcommand{\thesubfigure}{\thefigure.\arabic{subfigure}} 344 | % \makeatletter 345 | % \renewcommand{\@thesubfigure}{\thesubfigure:\space} 346 | % \renewcommand{\p@subfigure}{} 347 | % \makeatother 348 | % \fbox{% 349 | % \begin{minipage}{3.5in}% 350 | % \raggedright 351 | % \begin{center} 352 | % \subfigure[First]{% 353 | % \label{fig:first}% 354 | % \fbox{\hbox to 21mm{\vbox to 15mm{\vfil\null}\hfil}}}% 355 | % \hspace{\subfigtopskip}\hspace{\subfigbottomskip}% 356 | % \subfigure[Second]{% 357 | % \label{fig:second}% 358 | % \fbox{\hbox to 21mm{\vbox to 15mm{\vfil\null}\hfil}}}\\ 359 | % \caption{Two subfigures.}% 360 | % \label{fig:ex2}% 361 | % \end{center} 362 | % \vspace{4pt}% 363 | % See subfigures~\ref{fig:first} and \ref{fig:second}.% 364 | % \end{minipage}} 365 | % \end{center} 366 | % 367 | % \begin{verbatim} 368 | % \renewcommand{\thesubfigure}{\thefigure.\arabic{subfigure}} 369 | % \makeatletter 370 | % \renewcommand{\@thesubfigure}{\thesubfigure:\space} 371 | % \renewcommand{\p@subfigure}{} 372 | % \makeatother 373 | % ... 374 | % \setcounter{lofdepth}{2} 375 | % \listoffigures 376 | % ... 377 | % \begin{figure}% 378 | % \begin{center}% 379 | % \subfigure[First]{% 380 | % \label{fig:first}% 381 | % ...}% 382 | % \goodgap 383 | % \subfigure[Second]{% 384 | % \label{fig:second}% 385 | % ...}% 386 | % \end{center} 387 | % \caption{Two subfigures.} 388 | % \end{figure} 389 | % ... 390 | % See subfigures~\ref{fig:first} and \ref{fig:second}. 391 | % \end{verbatim}% 392 | % 393 | % \section{Customization} 394 | % The following sections describe the internal parameters used by the 395 | % \regsf{subfigure} package to define the layout of the sub-figures 396 | % or tables, as well as the labels and captions the accompany them. 397 | % In addition, adjustments to the entries on a ``list-of'' page and 398 | % the addition of new float environments is described. 399 | % 400 | % \subsection{Changing the layout} 401 | % \label{sec:customlabel} 402 | % The layout of the |subfigure| or |subtable| is defined by several 403 | % internal values which may be changed to customize appearance of the 404 | % object. The following illustration shows the relationship of these 405 | % values. 406 | % 407 | % \begin{center} 408 | % \fboxsep=-\fboxrule 409 | % \newbox{\tempbox}% 410 | % \newdimen{\tempdima}% 411 | % \newdimen{\tempdimb}% 412 | % \setbox\tempbox\hbox{% 413 | % $\stackrel{\longleftrightarrow}{\cs{subfigcapmargin}}$}% 414 | % \setbox\tempbox\hbox{\cs{subfigcapmargin}} 415 | % \tempdimb \wd\tempbox 416 | % \setbox\tempbox\hbox to \tempdimb{% 417 | % \kern -2mm\hbox{$\leftarrow$}\kern -.5mm% 418 | % \leaders\hrule width1pt height2.5pt depth-2.2pt\hfill 419 | % \kern -.15mm$\rightarrow$}% 420 | % \tempdima \wd\tempbox 421 | % \advance\tempdima 1mm% 422 | % \tempdimb \tempdima 423 | % \multiply\tempdimb -2 424 | % \advance\tempdimb 4.5in% 425 | % \advance\tempdimb -4mm% 426 | % \fbox{\parbox{4.5in}{% 427 | % \vspace{1pt}% 428 | % \hbox to 4.5in{% 429 | % \hspace{2.10in}% 430 | % $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$ 431 | % \cs{subfigtopskip}% 432 | % \hfil}% 433 | % \fbox{\vbox to 45pt{% 434 | % \vfil\vfil 435 | % \hbox to 4.5in{% 436 | % \hfil 437 | % {\scshape figure} or {\scshape table}% 438 | % \hfil}% 439 | % \vfil 440 | % \hbox to 4.5in{% 441 | % \hfil 442 | % {\small (Baseline)}% 443 | % \hspace{18pt}}% 444 | % \vspace{1pt}}}% 445 | % \hbox to 4.5in{% 446 | % \hspace{2.10in}% 447 | % $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$ 448 | % \cs{subfigcapskip}% 449 | % \hfil}% 450 | % \hbox to 4.5in{% 451 | % \hbox to\tempdima{% 452 | % \vbox to 20pt{% 453 | % \vfil 454 | % \copy\tempbox 455 | % \vfil 456 | % \hbox{\kern -.5mm\cs{subfigcapmargin}}% 457 | % \vfil}}% 458 | % \fbox{\vbox to 20pt{% 459 | % \vfil 460 | % \hbox to\tempdimb{% 461 | % \hfil 462 | % {\scshape caption}% 463 | % \hfil}% 464 | % \vfil}}% 465 | % \hbox to\tempdima{% 466 | % \vbox to 20pt{% 467 | % \vfil 468 | % \box\tempbox 469 | % \vfil 470 | % \hbox{\kern -.5mm\cs{subfigcapmargin}}% 471 | % \vfil}}% 472 | % \hfill}% 473 | % \hbox to 4.5in{% 474 | % \hspace{2.10in}% 475 | % $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$ 476 | % \cs{subfigbottomskip}% 477 | % \hfil}}}% 478 | % \end{center} 479 | % 480 | % \subsection{Adjusting the label and caption} 481 | % The label of the subfigure has two forms. The first is the one that 482 | % appears in the text when you use the |\ref| macro and the second is 483 | % the one that appears under the subfigure as part of the caption. 484 | % 485 | % The |\ref| command yields a string composed by concatenating the 486 | % value of |\p@subfigure| to |\thesubfigure|. By default these are 487 | % defined by: ``|\thefigure|'' and ``|(\alph{subfigure})|,'' 488 | % respectively, which produces a reference of the figure number 489 | % followed by the subfigure letter in parentheses. The label under the 490 | % subfigure is generated by |\@thesubfigure|. By default this is 491 | % ``|{\subcaplabelfont\thesubfigure}\space}|.'' Note the 492 | % |\subcaplabelfont| value. This starts out as a null value or if one 493 | % of the font attribute options are given it is set to that 494 | % value. If you update the |\@subfigure| macro, you should include 495 | % the |\subcaplabelfont|. 496 | % 497 | % Finally, the text of both the label and caption are prefixed by 498 | % |\subcapsize|, which defaults to |\footnotesize| and may be changed 499 | % using the six font size options. 500 | % 501 | % One other way of changing the layout of the lapel and caption is by 502 | % replacing the |\@makesubfigurecaption| macro which both applies the 503 | % font size option and the five caption shape options. Each subfloat 504 | % type may be defined individually. 505 | % 506 | % The subtable label and caption are symmetric to that of the subfigure 507 | % defined above. 508 | % 509 | % \subsection{Modifying the ``List-Of'' page information} 510 | % \label{sec:listof} 511 | % To generate a ``list-of'' page for a float environment, you need 512 | % to add a |\listoffigures| or |\listoftables| command where you want 513 | % the list to appear. This command also causes the appropriate 514 | % captions and subcaptions to be written to a file with the extensions 515 | % |lof| or |lot| respectively. If you want the sub-caption text to 516 | % appear in the ``list-of'' page, you need to change the value of the 517 | % counters |lofdepth| or |lotdepth| counters from their default of 518 | % `1'. For example, to have the |subfigure| sub-captions to appear on 519 | % the ``list-of-figures,'' add the following to the preamble of your 520 | % paper: 521 | % \begin{quote} 522 | % |\setcounter|\marg{subfigure}\marg{2} 523 | % \end{quote} 524 | % 525 | % If you want to change how the sub-caption appears on the ``list-of'' 526 | % pages you can change its format by redefining the |\l@subfigure| 527 | % macro. Usually you will want to use the |\@dottedxxxline| macro 528 | % (section~\ref{sec:dl}, page~\pageref{sec:dl}) to help with the 529 | % formatting. For instance the default value of |\l@subfigure| is: 530 | % \begin{verbatim} 531 | % \newcommand{\l@subfigure}{% 532 | % \@dottedxxxline{\ext@subfigure}{2}{3.9em}{2.3em}} 533 | % \end{verbatim} 534 | % To change the amount of space reserved for the label (if, for 535 | % instance, you have a lot of figures) you could widen the 2.3em 536 | % space for the label to 3.1em: 537 | % \begin{verbatim} 538 | % \newcommand{\l@subfigure}{% 539 | % \@dottedxxxline{\ext@subfigure}{2}{3.9em}{3.1em}} 540 | % \end{verbatim} 541 | % 542 | % The arguments of the |\@dottedxxxline| macro are: 543 | % \begin{quote} 544 | % \begin{enumerate} 545 | % \itemsep -\parsep 546 | % \item \underline{\smash{\regsf{Type}}}. Here these are, by 547 | % default, \texttt{lof} or \texttt{lot}. The internal 548 | % values |\ext@subfigure| and |\ext@subtable| stand for 549 | % these extensions. 550 | % \item \underline{\regsf{Level}}. By default this is `2' 551 | % for the |subfigure| and |subtable|. If the level is 552 | % greater than |\c@|{\regsf{type}}|depth| (where 553 | % \underline{\smash{\regsf{type}}} is the first argument 554 | % value), then no line produced. 555 | % \item \underline{\regsf{Indent}}. Total indentation 556 | % from the left margin. 557 | % \item \underline{\regsf{Numwidth}}. Width of box for the 558 | % label number if the \underline{\regsf{title}} has a 559 | % |\numberline| command. This is also the amount of extra 560 | % indentation added to second and later lines of a multiple 561 | % line entry. 562 | % \item \underline{\regsf{Title}}. Contents of entry. 563 | % \item \underline{\smash{\regsf{Page}}}. Page number. 564 | % \end{enumerate} 565 | % \end{quote} 566 | % 567 | % \noindent 568 | % and the final two arguments, \underline{\regsf{title}} and 569 | % \underline{\smash{\regsf{page}}}, are automatically appended to the 570 | % value of % |\l@subfigure| (and symmetricly for |\l@subtable|). 571 | % 572 | % \subsection{Adding additional float environments} 573 | % \label{sec:customfloat} 574 | % It is easy to add a new float environment. For instance, let us 575 | % assume we have a new float environment called ``map'' in which 576 | % various maps are displayed and for which a list-of-maps is generated 577 | % in the contents section. If we wanted to have sub-maps, then we 578 | % could define the following (on the assumption that the definition of 579 | % |\ext@map| is ``|lom|''): 580 | % 581 | % \begin{verbatim} 582 | % \makeatletter 583 | % \newcounter{submap}[map] 584 | % \newcommand{\thesubfigure}{(\alph{submap})} 585 | % \newcommand{\@thesubmap}{{\subcaplabelfont\thesubmap}\space} 586 | % \newcommand{\p@submap}{\themap} 587 | % \newcommand{\ext@submap}{\ext@map} 588 | % \newcommand{\l@submap}{\@dottedxxxline{\ext@submap}{2}{3.9em}{2.3em}} 589 | % \newcounter{lomdepth} 590 | % \setcounter{lomdepth}{1} 591 | % \newcommand{\submap}{\subfigure} 592 | % \newcommand{\@makesubmapcaption}{\@makesubfigurecaption} 593 | % \makeatother 594 | % \end{verbatim} 595 | % 596 | % \subsection{Interaction with other parts of \LaTeX} 597 | % In the following sections, the interaction of the \regsf{subfigure} 598 | % package with other parts of \LaTeX is documented. These ``other 599 | % parts'' may be either part of the the \LaTeX\ base or contributed 600 | % packages or classes. 601 | % 602 | % \subsubsection{\TeX 's ``mouth''} 603 | % The most important thing to remember when laying out your figures 604 | % within a float environment is that spaces take room. If you have an 605 | % extra space between two figures, then they will be separated by a 606 | % little bit. If you begin a line with an extra space, then your 607 | % figures may not be centered correctly. 608 | % 609 | % \TeX 's state varies as it reads a line of text from a file. It 610 | % ignores some spaces and carrage-returns and converts others to 611 | % |\space|'s or |\par|'s. You can use a `|%|' to insure that you only 612 | % have real spaces where you want them. To understand which spaces 613 | % are significant, you should read chapter~8 of the \TeX book 614 | % \cite{Knut86}. However, the main source of unexpected 615 | % extra spacing is carrage-returns which are turned in to |\space|'s. 616 | % Take a look at the examples in section~\ref{sec:examples} for an 617 | % example. As a general rule: if in doubt, then add a `|%|' 618 | % immediately after the last significant character of the line. 619 | % 620 | % \subsubsection{The float environments} 621 | % Although the \regsf{subfigure} package was designed to work within a 622 | % float environment (e.g. |figure|), it can be used outside with 623 | % the following two caveats: 624 | % \begin{enumerate} 625 | % \item You need to define |\@captype|. This is usually either 626 | % ``|figure|'' or ``|table|\@.'' For example: 627 | % \begin{verbatim} 628 | % \makeatletter 629 | % \def\@captype{figure} 630 | % \makeatother 631 | % \end{verbatim} 632 | % \item If you want to define references using |\label|, then you 633 | % need to redefine the \LaTeX\ internal |\@currentlabel|. For 634 | % example: 635 | % \begin{verbatim} 636 | % \makeatletter 637 | % \edef\@currentlabel{\p@subfigure\thesubfigure} 638 | % \makeatother 639 | % \end{verbatim} 640 | % \end{enumerate} 641 | % 642 | % \subsubsection{The caption package} 643 | % The only package that interacts with the \regsf{subfigure} package 644 | % is the \regsf{caption} package by by H.A. Sommerfeldt \cite{Somm95}. 645 | % If you load the \regsf{subfigure} package {\bf before} the 646 | % \regsf{caption} package, then it will detect that fact and will 647 | % change the |\subcapsize| when the options |scriptsize|, \ldots, 648 | % |large| are specified (overriding such options used when loading the 649 | % \regsf{subfigure} package). In addition, it redefines 650 | % |\@thesubfigure| and |\@thesubtable| to use |\captionlabelfont| 651 | % rather than |\subcaplabelfont|. 652 | % 653 | % If you {\bf don't} want this behavior, then you must load the 654 | % \regsf{subfigure} package {\bf after} the \regsf{caption} package. 655 | % 656 | % \subsubsection{Creating a subfigure environment} 657 | % Some people have wanted to use the |verbatim| environnment within 658 | % the \cmd{\subfigure} macro and run into the restriction that the 659 | % verbatim environment cannot be nested. To include verbatim text in 660 | % a subfigure, you can define a new environment, in which verbatim 661 | % text may be enclosed, and which calls the \cmd{\subfigure} macro. 662 | % \begin{verbatim} 663 | % \newbox\subfigbox 664 | % \makeatletter 665 | % \newenvironment{subfloat} 666 | % {\def\caption##1{\gdef\subcapsave{\relax##1}}% 667 | % \let\subcapsave\@empty 668 | % \setbox\subfigbox\hbox 669 | % \bgroup} 670 | % {\egroup 671 | % \subfigure[\subcapsave]{\box\subfigbox}} 672 | % \makeatother 673 | % \end{verbatim} 674 | % \vspace{-1em} 675 | % \noindent 676 | % This environment may be used something like the following (but note 677 | % that you will need to supply the width of the |verbatim| section using 678 | % a |minipage|). 679 | % 680 | % \begin{quote} 681 | % |\begin{figure}| \\ 682 | % | \begin{center}%| \\ 683 | % | \begin{subfloat}%| \\ 684 | % | \begin{minipage}{2.1in}| \\ 685 | % | \begin{verbatim}| \\ 686 | % | This text should be| \\ 687 | % |verbatim. And not| \\ 688 | % | messed with in any way !| \\ 689 | % | \end{verbatim}| \\ 690 | % | \end{minipage}%| \\ 691 | % | \caption{First subcaption.}%| \\ 692 | % | \end{subfloat}%| \\ 693 | % | \goodgap| \\ 694 | % | \begin{subfloat}%| \\ 695 | % | \begin{minipage}{2.1in}| \\ 696 | % | \begin{verbatim}| \\ 697 | % | This text (also)should be| \\ 698 | % |verbatim. And not| \\ 699 | % | messed with in any way !| \\ 700 | % | \end{verbatim}| \\ 701 | % | \end{minipage}%| \\ 702 | % | \caption{Second subcaption.}%| \\ 703 | % | \end{subfloat}| \\ 704 | % | \end{center}| \\ 705 | % | \caption{This is an example of verbatim text in a subfigure.}| \\ 706 | % |\end{figure}| 707 | % \end{quote} 708 | % 709 | % \StopEventually{% 710 | % \begin{thebibliography}{6}% 711 | % \bibitem{Somm95}% 712 | % Harald Axel Sommerfeldt, 713 | % \emph{The \regsf{caption} package}, 714 | % 1995/01/30. 715 | % \bibitem{Knut86}% 716 | % Donald Ervin Knuth, 717 | % \emph{The \TeX book}, 718 | % Addison-Wesley, Reading, Massachusetts, 719 | % 1986. 720 | % \end{thebibliography}} 721 | % 722 | % \section{The code} 723 | % \iffalse 724 | %<*package> 725 | % \fi 726 | % \subsection{Identification} 727 | % \begin{macrocode} 728 | \ifx\if@compatibility\undefined\else 729 | \NeedsTeXFormat{LaTeX2e} 730 | \ProvidesPackage{subfigure}[1995/03/06 v2.0 subfigure package] 731 | \typeout{Package: subfigure 1995/03/06 v2.0} 732 | \fi 733 | % \end{macrocode} 734 | % 735 | % \subsection{Initialization and Shared constants} 736 | % \begin{macro}{\if@subcaphang} 737 | % \begin{macro}{\if@subcapcenter} 738 | % \begin{macro}{\if@subcapcenterlast} 739 | % \begin{macro}{\if@subcapnooneline} 740 | % These four flags control how the style in which the subfloat label 741 | % and caption are printed. 742 | % \begin{macrocode} 743 | \newif\ifsubcaphang 744 | \newif\ifsubcapcenter 745 | \newif\ifsubcapcenterlast 746 | \newif\ifsubcapnooneline 747 | % \end{macrocode} 748 | % \end{macro} 749 | % \end{macro} 750 | % \end{macro} 751 | % \end{macro} 752 | % 753 | % \noindent 754 | % The following table gives the initial (default) values of the 755 | % internals that are used to control the placement and printing of the 756 | % subfloats.\footnote{The \cs{subcapsize} value is initialized in 757 | % section~\ref{sec:startup} along with the caption flags.} 758 | % 759 | % \DeleteShortVerb{\|} 760 | % \MakeShortVerb{\/} 761 | % \begin{center} 762 | % \setlength\tabcolsep{9.25pt}% 763 | % \raggedright 764 | % \begin{tabular}{|l|c|p{1.963in}|}\hline 765 | % \multicolumn{1}{|c|}{Macro} 766 | % & Default & 767 | % \multicolumn{1}{c|}{Description} \\ \hline 768 | % /\subfigtopskip/ & 10pt & Length from the top of 769 | % the subfloat box to 770 | % the begining of the 771 | % \texttt{figure}. 772 | % \\ \hline 773 | % /\subfigbottomskip/ & 10pt & Length from the bottom 774 | % of the \texttt{caption} 775 | % to the bottom of the 776 | % subfloat. \\ \hline 777 | % /\subfigcapskip/ & 10pt & Length from the bottom 778 | % of the \texttt{figure} 779 | % to the begining of the 780 | % \texttt{caption}. 781 | % \\ \hline 782 | % /\subfigcapmargin/ & 10pt & Indentation of the 783 | % caption from the sides 784 | % of the subfloat box 785 | % (This should always be 786 | % positive). \\ \hline 787 | % /\subcapsize/ & /\footnotesize/ & Size for the text portion 788 | % \texttt{caption} 789 | % font. \\ \hline 790 | % /\subcaplabelfont/ & & Font for the label 791 | % portion of the 792 | % caption. \\ \hline 793 | % \end{tabular} 794 | % \end{center} 795 | % \DeleteShortVerb{\/} 796 | % \MakeShortVerb{\|} 797 | % 798 | % \begin{macrocode} 799 | \newcommand{\subfigtopskip}{10pt} 800 | \newcommand{\subfigbottomskip}{10pt} 801 | \newcommand{\subfigcapskip}{10pt} 802 | \newcommand{\subfigcapmargin}{10pt} 803 | \newcommand{\subcapsize}{} 804 | \newcommand{\subcaplabelfont}{} 805 | % \end{macrocode} 806 | % 807 | % \subsection{Subfigure constants} 808 | % \begin{macro}{\c@subfigure} 809 | % Subfigure counter. 810 | % \begin{macrocode} 811 | \newcounter{subfigure}[figure] 812 | % \end{macrocode} 813 | % \end{macro} 814 | % 815 | % \begin{macro}{\thesubfigure} 816 | % \begin{macro}{\@thesubfigure} 817 | % \begin{macro}{\p@subfigure} 818 | % These define the form that the sub-caption prefix is generated. 819 | % The |\thesubfigure| macro defines the basic label for text 820 | % references (prefixed by |\p@subfigure|), while the 821 | % |\@thesubfigure| macro defines what appears under the subfigure. 822 | % In the case of a conflict between this package and a prior one 823 | % over the definition of |\thesubfigure|, this package will win. 824 | % 825 | % \begin{macrocode} 826 | \def\thesubfigure{(\alph{subfigure})} 827 | \newcommand{\@thesubfigure}{{\subcaplabelfont\thesubfigure}\space} 828 | \let\p@subfigure\thefigure 829 | % \end{macrocode} 830 | % \end{macro} 831 | % \end{macro} 832 | % \end{macro} 833 | % 834 | % \begin{macro}{\ext@subfigure} 835 | % \begin{macro}{\l@subfigure} 836 | % \begin{macro}{\c@lofdepth} 837 | % These define how and if the subfigure caption will appear in a 838 | % list-of-figures file. |\ext@subfigure| defines the default 839 | % subfigure file extension (which is the same as |\ext@figure| --- 840 | % the list-of-figures file). |\l@subfigure| shows how to print an 841 | % |lof| subfigure line and defines that line at level two. 842 | % |\c@lofdepth| is an extension of the table-of-contents depth value 843 | % and controls the depth to which captions in the file are printed 844 | % to the actual page. By default, the sub-captions are not printed. 845 | % 846 | % \begin{macrocode} 847 | \let\ext@subfigure\ext@figure 848 | % \end{macrocode} 849 | % 850 | % \begin{macrocode} 851 | \newcommand{\l@subfigure}{% 852 | \@dottedxxxline{\ext@subfigure}{2}{3.9em}{2.3em}} 853 | % \end{macrocode} 854 | % 855 | % \begin{macrocode} 856 | \newcounter{lofdepth} 857 | \setcounter{lofdepth}{1} 858 | % \end{macrocode} 859 | % \end{macro} 860 | % \end{macro} 861 | % \end{macro} 862 | % 863 | % \subsection{Subtable constants} 864 | % \begin{macro}{\c@subtable} 865 | % Subtable counter. 866 | % \begin{macrocode} 867 | \newcounter{subtable}[table] 868 | % \end{macrocode} 869 | % \end{macro} 870 | % 871 | % \begin{macro}{\thesubtable} 872 | % \begin{macro}{\@thesubtable} 873 | % \begin{macro}{\p@subtable} 874 | % These define the form that the sub-caption prefix is generated. 875 | % The |\thesubtable| macro defines the basic label for text 876 | % references (prefixed by |\p@subtable|), while the 877 | % |\@thesubtable| macro defines what appears under the subtable. 878 | % In the case of a conflict between this package and a prior one 879 | % over the definition of |\thesubtable|, this package will win. 880 | % 881 | % \begin{macrocode} 882 | \def\thesubtable{(\alph{subtable})} 883 | \newcommand{\@thesubtable}{{\subcaplabelfont\thesubtable}\space} 884 | \let\p@subtable\thetable 885 | % \end{macrocode} 886 | % \end{macro} 887 | % \end{macro} 888 | % \end{macro} 889 | % 890 | % \begin{macro}{\ext@subtable} 891 | % \begin{macro}{\l@subtable} 892 | % \begin{macro}{\c@lotdepth} 893 | % These define how and if the subtable caption will appear in a 894 | % list-of-tables file. |\ext@subtable| defines the default 895 | % subtable file extension (which is the same as |\ext@table| --- the 896 | % list-of-tables file). |\l@subtable| shows how to print an |lot| 897 | % subtable line and defines that line at level two. |\c@lotdepth| 898 | % is an extension of the table-of-contents depth value and controls 899 | % the depth to which captions in the file are printed to the actual 900 | % page. By default, the sub-captions are not printed. 901 | % 902 | % \begin{macrocode} 903 | \let\ext@subtable\ext@table 904 | % \end{macrocode} 905 | % 906 | % \begin{macrocode} 907 | \newcommand{\l@subtable}{% 908 | \@dottedxxxline{\ext@subtable}{2}{3.9em}{2.3em}} 909 | % \end{macrocode} 910 | % 911 | % \begin{macrocode} 912 | \newcounter{lotdepth} 913 | \setcounter{lotdepth}{1} 914 | % \end{macrocode} 915 | % \end{macro} 916 | % \end{macro} 917 | % \end{macro} 918 | % 919 | % \subsection{Declaration of options} 920 | % For backward compatibility, if this file is running under 921 | % \LaTeX2.09\, then we just set the defaults and leave it to the user 922 | % to set any options in the preamble. 923 | % 924 | % \begin{macrocode} 925 | \ifx\if@compatibility\undefined 926 | \subcaphangfalse 927 | \subcapcenterfalse 928 | \subcapcenterlastfalse 929 | \def\subcapsize{\footnotesize} 930 | \else 931 | % \end{macrocode} 932 | % 933 | % \noindent 934 | % The following options allow compatibility with the \regsf{caption} 935 | % package by H.A. Sommerfeldt \cite{Somm95}. There are five different 936 | % sub-caption options supported: |normal|, |hang| (or |isu|), 937 | % |center|, |centerlast| (or |anne|) and |nooneline|. The |hang| 938 | % sub-caption may be combined with the |center| or |centerlast| 939 | % options. The |nooneline| may be combined with any of the other 940 | % options (but it's effect is negated by either of |center| or 941 | % |centerlast| unless the |hang| option is also used). 942 | % 943 | % \begin{macrocode} 944 | \DeclareOption{normal}{% 945 | \subcaphangfalse 946 | \subcapcenterfalse 947 | \subcapcenterlastfalse 948 | \subcapnoonelinefalse} 949 | \DeclareOption{hang}{\subcaphangtrue} 950 | \DeclareOption{center}{\subcapcentertrue} 951 | \DeclareOption{centerlast}{\subcapcenterlasttrue} 952 | \DeclareOption{nooneline}{\subcapnoonelinetrue} 953 | % \end{macrocode} 954 | % 955 | % \begin{macrocode} 956 | \DeclareOption{isu}{\ExecuteOption{hang}} 957 | \DeclareOption{anne}{\ExecuteOption{centerlast}} 958 | % \end{macrocode} 959 | % 960 | % \noindent 961 | % There are options for six different font sizes available. 962 | % 963 | % \begin{macrocode} 964 | \DeclareOption{scriptsize}{\renewcommand{\subcapsize}{\scriptsize}} 965 | \DeclareOption{footnotesize}{\renewcommand{\subcapsize}{\footnotesize}} 966 | \DeclareOption{small}{\renewcommand{\subcapsize}{\small}} 967 | \DeclareOption{normalsize}{\renewcommand{\subcapsize}{\normalsize}} 968 | \DeclareOption{large}{\renewcommand{\subcapsize}{\large}} 969 | \DeclareOption{Large}{\renewcommand{\subcapsize}{\Large}} 970 | % \end{macrocode} 971 | % 972 | % \noindent 973 | % There are nine options available to set the font attributes of the 974 | % sub-caption labels. 975 | % 976 | % \begin{macrocode} 977 | \DeclareOption{up}{\renewcommand{\subcaplabelfont}{\upshape}} 978 | \DeclareOption{it}{\renewcommand{\subcaplabelfont}{\itshape}} 979 | \DeclareOption{sl}{\renewcommand{\subcaplabelfont}{\slshape}} 980 | \DeclareOption{sc}{\renewcommand{\subcaplabelfont}{\scshape}} 981 | \DeclareOption{md}{\renewcommand{\subcaplabelfont}{\mdseries}} 982 | \DeclareOption{bf}{\renewcommand{\subcaplabelfont}{\bfseries}} 983 | \DeclareOption{rm}{\renewcommand{\subcaplabelfont}{\rmfamily}} 984 | \DeclareOption{sf}{\renewcommand{\subcaplabelfont}{\sffamily}} 985 | \DeclareOption{tt}{\renewcommand{\subcaplabelfont}{\ttfamily}} 986 | % \end{macrocode} 987 | % 988 | % \subsubsection{Execution of options} 989 | % \label{sec:startup} 990 | % The |normal| type of sub-caption is preselected and the standard 991 | % sub-caption size is set to |\footnotesize|. 992 | % \begin{macrocode} 993 | \ExecuteOptions{normal,footnotesize} 994 | \ProcessOptions 995 | \fi 996 | % \end{macrocode} 997 | % 998 | %\subsection{The subfigure/subtable body} 999 | % \begin{macro}{\subfigure} 1000 | % \begin{macro}{\subtable} 1001 | % These macros act as cover functions for the |\@subfloat| macro. 1002 | % They insure that the proper counter is used and has the correct 1003 | % value. Since the caption is usually generated later, we must 1004 | % locally anticipate the future value of its counter by adding one 1005 | % to it within a local group. Upon leaving the |\subfigure| or 1006 | % |\subtable| macro, the old value is restored. 1007 | % 1008 | % \begin{macrocode} 1009 | \newcommand{\subfigure}{% 1010 | \bgroup 1011 | \advance\csname c@\@captype\endcsname\@ne 1012 | \refstepcounter{sub\@captype}% 1013 | \leavevmode 1014 | \@ifnextchar [% 1015 | {\@subfloat{sub\@captype}}% 1016 | {\@subfloat{sub\@captype}[\@empty]}} 1017 | % \end{macrocode} 1018 | % 1019 | % \begin{macrocode} 1020 | \let\subtable\subfigure 1021 | % \end{macrocode} 1022 | % \end{macro} 1023 | % \end{macro} 1024 | % 1025 | % \begin{macro}{\@subfloat} 1026 | % This is the common code for setting up the subfloat box and 1027 | % drawing the sub-caption under it. It first determines width of the 1028 | % figure or table by placing it in a box. This box is combined with 1029 | % the top margin (|\subfigtopskip|) and placed as the height portion 1030 | % of the output ``|vbox|\@.'' The depth of this box is determined by 1031 | % the existence of a sub-caption. If one exists, then the depth is 1032 | % made up of the sub-caption spacing (|\subfigcapskip|), the 1033 | % height$+$depth of the sub-caption and the bottom margin 1034 | % (\cmd{\subfigbottomskip}). If no sub-caption exists, then the depth 1035 | % of the output ``|vbox|'' is just the bottom margin (see the 1036 | % illustration in section~\ref{sec:customlabel}). 1037 | % 1038 | % The first argument is the type of object being generated: that is, 1039 | % a |subfigure| or a |subtable|. The second and third are the 1040 | % \texttt{caption} and \texttt{figure} arguments from the 1041 | % calling |\subfigure| or |\subtable| command. 1042 | % 1043 | % \begin{macrocode} 1044 | \def\@subfloat#1[#2]#3{% 1045 | \setbox\@tempboxa \hbox{#3}% 1046 | \@tempdima=\wd\@tempboxa 1047 | \vtop{% 1048 | \vbox{ 1049 | \vskip\subfigtopskip 1050 | \box\@tempboxa}% 1051 | \ifx \@empty#2\relax \else 1052 | \vskip\subfigcapskip 1053 | \@subcaption{#1}{#2}% 1054 | \fi 1055 | \vskip\subfigbottomskip}% 1056 | \egroup} 1057 | % \end{macrocode} 1058 | % \end{macro} 1059 | % 1060 | % \begin{macro}{\@subfigcaptionlist} 1061 | % \begin{macro}{\@subcaption} 1062 | % The following series of macros control exactly how the sub-caption is 1063 | % typeset. The |\@subcaption| macro adds the sub-caption to the current 1064 | % list of sub-captions to be added to the ``list-of'' page as soon as 1065 | % the major caption is declared (see |\@caption| below). 1066 | % ({\scshape Note}: Only one list is kept because that seems right; 1067 | % if there is a mix of tables and figures, they will be grouped 1068 | % under the next |\caption|. 1069 | % 1070 | % Next |\@subcaption| calls the appropriate float-type specific macro 1071 | % to decide how to size and shape the sub-caption text. 1072 | % 1073 | % \begin{macrocode} 1074 | \newcommand{\@subfigcaptionlist}{} 1075 | % \end{macrocode} 1076 | % 1077 | % \begin{macrocode} 1078 | \newcommand{\@subcaption}[2]{% 1079 | \begingroup 1080 | \let\label\@gobble 1081 | \def\protect{\string\string\string}% 1082 | \xdef\@subfigcaptionlist{% 1083 | \@subfigcaptionlist,% 1084 | {\protect\numberline {\@currentlabel}% 1085 | \noexpand{\ignorespaces #2}}}% 1086 | \endgroup 1087 | \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#2}} 1088 | % \end{macrocode} 1089 | % \end{macro} 1090 | % \end{macro} 1091 | % 1092 | % \begin{macro}{\@makesubfigurecaption} 1093 | % \begin{macro}{\@makesubtablecaption} 1094 | % By default, the |\@subfigurecaption| and |\@subtablecaption| 1095 | % macros are identical. Unlike the standard |\@makecaption| macro, 1096 | % we assume that the first argument (the label number produced by 1097 | % the |\@thesubfigure| or the |\@thesubtable|) contains any trailing 1098 | % separator characters or spacing (which makes it easier to customize). 1099 | % 1100 | % The |\@makesubfigurecaption| macro first checks the size of the 1101 | % caption typeset as a single line. If it will fit under the 1102 | % subfigure with the given |\subfigcapmargin|, then we are done. 1103 | % Otherwise, the sub-caption is set with multiple lines either with or 1104 | % without the label hanging. 1105 | % 1106 | % \begin{macrocode} 1107 | \newcommand{\@makesubfigurecaption}[2]{% 1108 | \setbox\@tempboxa \hbox{% 1109 | \subcapsize 1110 | \ignorespaces #1% 1111 | \ignorespaces #2}% 1112 | \@tempdimb=-\subfigcapmargin 1113 | \multiply\@tempdimb\tw@ 1114 | \advance\@tempdimb\@tempdima 1115 | \hbox to\@tempdima{% 1116 | \hfil 1117 | \ifdim \wd\@tempboxa >\@tempdimb 1118 | \subfig@caption{#1}{#2}% 1119 | \else\ifsubcapnooneline 1120 | \subfig@caption{#1}{#2}% 1121 | \else 1122 | \box\@tempboxa 1123 | \fi\fi 1124 | \hfil}} 1125 | % \end{macrocode} 1126 | % 1127 | % \begin{macrocode} 1128 | \let\@makesubtablecaption\@makesubfigurecaption 1129 | % \end{macrocode} 1130 | % \end{macro} 1131 | % \end{macro} 1132 | % 1133 | % \begin{macro}{\subfig@caption} 1134 | % \begin{macro}{\subfig@captionpar} 1135 | % These macros are called to typeset a multiple-line sub-caption 1136 | % (or a single line when |subcapnooneline| is true). 1137 | % Depending on the |subcapcenter| and |subcapcenterlast| flags, the 1138 | % text will be justified (both false), centered (|subcapcenter| 1139 | % true), or justified with the last line centered (only the flag 1140 | % |subcapcenterlast| set true). 1141 | % \begin{macrocode} 1142 | \newcommand{\subfig@caption}[2]{% 1143 | \ifsubcaphang 1144 | \sbox{\@tempboxa}{% 1145 | \subcapsize 1146 | \ignorespaces #1}% 1147 | \addtolength{\@tempdimb}{-\wd\@tempboxa}% 1148 | \usebox{\@tempboxa}% 1149 | \subfig@captionpar{\@tempdimb}{#2}% 1150 | \else 1151 | \subfig@captionpar{\@tempdimb}{#1#2}% 1152 | \fi} 1153 | % \end{macrocode} 1154 | % 1155 | % \begin{macrocode} 1156 | \newcommand{\subfig@captionpar}[2]{% 1157 | \parbox[t]{#1}{% 1158 | \strut 1159 | \ifsubcapcenter 1160 | \setlength{\leftskip}{\@flushglue}% 1161 | \setlength{\rightskip}{\@flushglue}% 1162 | \setlength{\parfillskip}{\z@skip}% 1163 | \else\ifsubcapcenterlast 1164 | \addtolength{\leftskip}{0pt plus 1fil}% 1165 | \addtolength{\rightskip}{0pt plus -1fil}% 1166 | \setlength{\parfillskip}{0pt plus 2fil}% 1167 | \fi\fi 1168 | \subcapsize 1169 | \ignorespaces #2% 1170 | \par}} 1171 | % \end{macrocode} 1172 | % \end{macro} 1173 | % \end{macro} 1174 | % 1175 | % \subsection{Patches to the standard environment} 1176 | % The following adjust the standard environment for the |\subfigure| 1177 | % and |\subtable| macros. They are designed as wrappers to the 1178 | % current definition of the standard commands to minimize any 1179 | % chance of conflict with other packages. 1180 | % 1181 | % \begin{macro}{\@dottedxxxline} 1182 | % \label{sec:dl} 1183 | % This is a generalized wrapper for the |\@dottedtocline| macro. 1184 | % It checks for the level based on the output file (first argument) 1185 | % and not using only |\@tocdepth|. (See section~\ref{sec:listof} 1186 | % for a description of the arguments.) 1187 | % 1188 | % \begin{macrocode} 1189 | \newcommand{\@dottedxxxline}[6]{% 1190 | \ifnum #2>\@nameuse{c@#1depth}\else 1191 | \@dottedtocline{0}{#3}{#4}{#5}{#6} 1192 | \fi} 1193 | % \end{macrocode} 1194 | % \end{macro} 1195 | % 1196 | % \begin{macro}{\subfig@oldcaption} 1197 | % \begin{macro}{\@caption} 1198 | % Next, we redefine the current |\@caption| macro to dump any 1199 | % sub-captions saved. First the `old' caption macro is called to 1200 | % add the line to the list-of file and then the list of 1201 | % sub-captions, |\@subfigcaptionlist| is written to the same file. 1202 | % Lastly, the |\@subfigcaptionlist| is reinitialized. 1203 | % 1204 | % \begin{macrocode} 1205 | \let\subfig@oldcaption\@caption 1206 | % \end{macrocode} 1207 | % 1208 | % \begin{macrocode} 1209 | \long\def\@caption#1[#2]#3{% 1210 | \subfig@oldcaption{#1}[{#2}]{#3}% 1211 | \@for \@tempa:=\@subfigcaptionlist \do {% 1212 | \ifx\@empty\@tempa\relax \else 1213 | \addcontentsline 1214 | {\@nameuse{ext@sub#1}}% 1215 | {sub#1}% 1216 | {\@tempa}% 1217 | \fi}% 1218 | \gdef\@subfigcaptionlist{}} 1219 | % \end{macrocode} 1220 | % \end{macro} 1221 | % \end{macro} 1222 | % 1223 | % \iffalse 1224 | % 1225 | % \fi 1226 | % 1227 | % \Finale 1228 | % 1229 | --------------------------------------------------------------------------------