]> git.lyx.org Git - lyx.git/blob - src/tex2lyx/test/test-insets.tex
Fix bug #7668 (cosmetic whitespace issues)
[lyx.git] / src / tex2lyx / test / test-insets.tex
1 %% LyX trick_preamble_code_into_believing_that_this_was_created_by_lyx created this file.  For more info, see http://www.lyx.org/.
2 %% Do not edit unless you really know what you are doing.
3 \documentclass[a4paper,12pt]{article}
4 \usepackage[T1]{fontenc}
5 \usepackage[latin9]{inputenc}
6
7 \setlength{\parindent}{3mm}
8 \usepackage{setspace}
9 \onehalfspacing
10
11 \usepackage{amsmath}
12 \usepackage{url}
13 \usepackage{verbatim}
14 \usepackage[numbers]{natbib}
15 \usepackage{nomencl}
16 % the following is useful when we have the old nomencl.sty package
17 \providecommand{\printnomenclature}{\printglossary}
18 \providecommand{\makenomenclature}{\makeglossary}
19 \makenomenclature
20 \usepackage{varioref}
21 \usepackage{prettyref}
22 \usepackage{makeidx}
23 \makeindex
24
25 \usepackage{graphicx}
26 \usepackage{longtable}
27 \usepackage{xargs}
28 \usepackage{subscript}
29
30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
31 \providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
32 \newcommand{\lyxline}[1][1pt]{%
33   \par\noindent%
34   \rule[.5ex]{\linewidth}{#1}\par}
35
36 \newcommand{\lyxarrow}{\leavevmode\,$\triangleright$\,\allowbreak}
37
38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
39
40 \def\mycommand{\textquestiondown}
41
42 \begin{document}
43
44 \tableofcontents
45
46 \noindent This paragraph is not indented.
47
48 \section{References\index{References}}
49
50 Let's start with simple things: a label~\label{lab:test} and a
51 reference~\ref{lab:test}; note that I have tested ``unbreakable
52 space'' without warning (and worse than that, I just tested english
53 quotes too...).
54
55 Of course there are other kind of references, like page
56 reference~\pageref{lab:test}, but also equation
57 reference~\eqref{lab:test} (from amsmath package), or varioref's
58 equivalents~\vref{lab:test} and~\vpageref{lab:test}, without
59 forgetting pretty references like~\prettyref{lab:test}.
60
61 \section{Cites\index{Cites}}
62
63 Let's start with simple things: a \textbackslash{}cite: \cite[after]{article-crossref}
64 and two \textbackslash{}cites: \cite[after]{whole-set,article-crossref}
65
66 Now the natbib things:
67
68 \textbackslash{}citet: \citet[before][after]{article-crossref} \textbackslash{}citet{*}:
69 \citet*[before][after]{article-crossref} \textbackslash{}Citet: \Citet[before][after]{article-crossref}
70 \textbackslash{}Citet{*}: \Citet*[before][after]{article-crossref}
71
72 \textbackslash{}citep: \citep[before][after]{article-crossref} \textbackslash{}citep{*}:
73 \citep*[before][after]{article-crossref} \textbackslash{}Citep: \Citep[before][after]{article-crossref}
74 \textbackslash{}Citep{*}: \Citep*[before][after]{article-crossref}
75
76 \textbackslash{}citealt: \citealt[before][after]{article-crossref}
77 \textbackslash{}citealt{*}: \citealt*[before][after]{article-crossref}
78 \textbackslash{}Citealt: \Citealt[before][after]{article-crossref}
79 \textbackslash{}Citealt{*}: \Citealt*[before][after]{article-crossref}
80
81 \textbackslash{}citealp: \citealp[before][after]{article-crossref}
82 \textbackslash{}citealp{*}: \citealp*[before][after]{article-crossref}
83 \textbackslash{}Citealp: \Citep[before][after]{article-crossref}
84 \textbackslash{}Citealp{*}: \Citealp*[before][after]{article-crossref}
85
86 \textbackslash{}citeauthor: \citeauthor[before][after]{article-crossref}
87 \textbackslash{}citeauthor{*}: \citeauthor*[before][after]{article-crossref}
88 \textbackslash{}Citeauthor: \Citeauthor[before][after]{article-crossref}
89 \textbackslash{}Citeauthor{*}: \Citeauthor*[before][after]{article-crossref}
90
91 \textbackslash{}citeyear: \citeyear[before][after]{article-crossref}
92
93 \textbackslash{}citeyearpar: \citeyearpar[before][after]{article-crossref} 
94
95 \textbackslash{}nocite: \nocite{article-crossref}
96
97 % Remove duplicate call of \bibliography since LaTeX throws an error.
98 %\bibliographystyle{unsrt}
99 % \bibliography{xampl}
100
101 With \textbackslash{}nocite\{{*}\}:
102 \bibliographystyle{unsrt}
103 \nocite{*}
104 \bibliography{xampl}
105
106 From bug 7306:
107 \citet{gur+04} have demonstrated that authors should not have umlauts
108 in their names. It's OK to use them in the man\"{u}script, though.
109 \begin{thebibliography}{References}
110 \bibitem[{{G\"{u}rkan et~al.}(2004)}]{gur+04} Gürkan, M.~A., Freitag,
111 M., \& Rasio, F.~A. 2004, ApJ, 604, 632\end{thebibliography}
112
113
114 \section{Input files\index{Input files}}
115
116 We can input files too, like this \input{DummyDocument}, or with the include
117 variant \include{DummyDocument} % unfortunately, including the doc twice
118 % generates a multiply defined label
119
120 If you prefer verbatim input, you can choose
121 between~\verbatiminput{foo} or~\verbatiminput*{foo}.
122
123
124 \section{URLs and Hyperlinks\index{URL}\nomenclature[www]{URL}{uniform resource locator}}
125
126 An URL: \url{http://www.lyx.org} \nomenclature{URL2}{uniform resource locator}
127
128 link:\href{http://www.test.test}{www.test.test}
129
130 link2:\href{http://www.test.test}{http://www.test.test}
131
132 mail:\href{mailto:www.test.test}{name}
133
134 file:\href{file:www.test.test}{www.test.test}
135
136 ftp:\href{ftp://www.test.test}{ftp://www.test.test}
137
138 ftp2:\href{ftp://www.test.test}{www.test.test}
139
140
141 \section{Lists\index{Lists}}
142
143 \listoffigures
144 \listoftables
145
146
147 \section{Graphics\index{Graphics}}
148
149 There is also some basic support for graphics, in the form
150 \includegraphics{foo.eps}, or the slightly more elaborate
151 \includegraphics[bb=10bp 0bp 96bp 96bp,clip,height=1cm, width=1cm]{foo.eps}.
152
153 \section{Tables\index{Tables}}
154
155 The following example is stolen from the longtable documentation.
156 Since tex2lyx does not understand the special verbatim code that
157 was used in the original some lines have been rewritten using
158 \textbackslash textbackslash etc.
159 \let\package\textsf
160 \let\env\textsf
161 \let\code\texttt
162 \providecommand\finalclearpage{\clearpage}
163
164 \begin{longtable}{@{*}r||p{1in}@{*}}
165 KILLED & LINE!!!! \kill
166 \caption
167 [An optional table caption (used in the list of tables)]
168 {A long table\label{long}}\\
169 \hline\hline
170 \multicolumn{2}{@{*}c@{*}}%
171      {This part appears at the top of the table}\\
172 \textsc{First}&\textsc{Second}\\
173 \hline\hline
174 \endfirsthead
175 \caption[]{(continued)}\\
176 \hline\hline
177 \multicolumn{2}{@{*}c@{*}}%
178       {This part appears at the top of every other page}\\
179 \textbf{First}&\textbf{Second}\\
180 \hline\hline
181 \endhead
182 \hline
183 This goes at the&bottom.\\
184 \hline
185 \endfoot
186 \hline
187 These lines will&appear\\
188 in place of the & usual foot\\
189 at the end& of the table\\
190 \hline
191 \endlastfoot
192 \env{longtable}  columns  are specified& in the \\
193 same way as  in the \env{tabular}& environment.\\
194 \code{@\{*\}r||p\{1in\}@\{*\}}& in this case.\\
195 Each row ends with a& \code{\textbackslash\textbackslash} command.\\
196 The \code{\textbackslash\textbackslash} command  has an& optional\\
197 argument, just as in& the\\
198  \env{tabular}&environment.\\[10pt]
199 See the effect of \code{\textbackslash\textbackslash[10pt]}&?\\
200 Lots of lines& like this.\\
201 Lots of lines& like this.\\
202 Lots of lines& like this.\\
203 Lots of lines& like this.\\
204 Also \code{\textbackslash hline} may be used,&  as in \env{tabular}.\\
205 \hline
206 That  was a \code{\textbackslash hline}&.\\
207 \hline\hline
208 That  was \code{\textbackslash hline\textbackslash hline}&.\\
209 \multicolumn{2}{||c||}%
210 {This is a \code{\textbackslash multicolumn\{2\}\{||c||\}}}\\
211 If a  page break  occurs at a \code{\textbackslash hline} then& a line is drawn\\
212 at the bottom of one  page  and at the& top of the next.\\
213 \hline
214 The \code{[t] [b] [c]} argument of \env{tabular}& can  not be used.\\
215 The optional argument may be  one of& \code{[l] [r] [c]}\\
216 to specify whether  the  table  should be& adjusted\\
217 to the  left, right& or centrally.\\
218 \hline\hline
219 Lots of lines& like this.\\
220 Lots of lines& like this.\\
221 Lots of lines& like this.\\
222 Lots of lines& like this.\\
223 Lots of lines& like this.\\
224 Lots of lines& like this.\\
225 Lots of lines& like this.\\
226 Lots of lines& like this.\\
227 Lots of lines& like this.\\
228 Lots of lines& like this.\\
229 Lots of lines& like this.\\
230 Lots of lines& like this.\\
231 Lots of lines& like this.\\
232 Lots of lines& like this.\\
233 Lots of lines& like this.\\
234 Lots of lines& like this.\\
235 Lots of lines& like this.\\
236 Lots of lines& like this.\\
237 Lots of lines& like this.\\
238 Lots of lines& like this.\\
239 Some lines may take up a lot of space, like this: &
240     \raggedleft This last column is a ``p'' column so this
241     ``row'' of the table can take up several lines. Note however that
242     \TeX\ will  never break a page within such a row. Page breaks only
243     occur between rows of the table or at \code{\textbackslash hline} commands.
244     \tabularnewline
245 Lots of lines& like this.\\
246 Lots of lines& like this.\\
247 Lots of lines& like this.\\
248 Lots of lines& like this.\\
249 Lots of lines& like this.\\
250 Lots of lines& like this.\\
251 Lots of lines& like this.\\
252 \hline
253 Lots\footnote{This is a footnote.} of lines& like this.\\
254 Lots   of   lines& like this\footnote{\env{longtable} takes special
255     precautions, so that footnotes may also be used in `p' columns.}\\
256 \hline
257 Lots of lines& like this.\\
258 Lots of lines& like this.
259 \end{longtable}
260
261 \begin{tabular*} % some comment
262 {0.8\columnwidth}[b]{lr}
263 two\\
264 lonely&lines
265 \end{tabular*}
266
267
268 \section{Macros}
269
270 LyX supports several kinds of macros:
271 def \def\macroa#1{a #1 a}
272 global def \global\def\macrob#1{b #1 b}
273 long def \long\def\macroc#1{c #1 c}
274 global long def \global\long\def\macrod#1{d #1 d}
275 providecommand \providecommand{\macroe}[1]{e #1 e}
276 providecommand* \providecommand*{\macrof}[1]{f #1 f}
277 newcommand \newcommand{\macrog}[1]{g #1 g}
278 renewcommand \renewcommand{\macrog}[1]{h #1 h}
279 newcommand* \newcommand*{\macroi}[1]{i #1 i}
280 renewcommand* \renewcommand*{\macroi}[1]{j #1 j}
281 providecommandx \providecommandx{\macrok}[1]{k #1 k}
282 providecommandx* \providecommandx*{\macrok}[1]{l #1 l}
283 newcommandx \newcommandx{\macrom}[1]{m #1 m}
284 renewcommandx \renewcommandx{\macrom}[1]{n #1 n}
285 newcommandx* \newcommandx*{\macroo}[1]{o #1 o}
286 renewcommandx* \renewcommandx*{\macroo}[1]{p #1 p}
287 DeclareRobustCommand \DeclareRobustCommand{\macroq}[1]{q #1 q}
288 DeclareRobustCommand* \DeclareRobustCommand*{\macror}[1]{r #1 r}
289 DeclareRobustCommandx \DeclareRobustCommandx{\macros}[1]{s #1 s}
290 DeclareRobustCommandx* \DeclareRobustCommandx*{\macrot}[1]{t #1 t}
291
292 Now use them all:
293 \macroa{x} \macrob{x} \macroc{x} \macrod{x} \macroe{x} \macrof{x} \macrog{x}
294 \macroi{x} \macrok{x} \macrom{x} \macroo{x} \macroq{x} \macror{x}
295 The following tow don't work, but they should???
296 %\macros{x} \macrot{x}
297
298
299 \section{Special formattings\index{Special formattings}}
300
301 \subsection{LyX line}
302
303 test
304
305 {\tiny \lyxline{\tiny}}{\tiny \par}
306
307 test {\Huge Test} {\tiny test} test
308
309 \lyxline{\normalsize}
310
311 test
312
313 {\Huge \lyxline{\Huge}}{\Huge \par}
314
315
316 \subsection{rules}
317
318 test\rule[0.001\textwidth]{1\columnwidth}{0.05\textheight}
319
320 test
321
322 \rule[0.5ex]{1\columnwidth}{1pt}
323
324 \noindent \rule{1ex}{0.5cc}test
325
326 \textcolor{red}{\rule[-4ex]{5in}{1cm}}
327
328
329 \subsection{Phantoms}
330
331 test\phantom{Wow}test
332
333 test\hphantom{\textcolor{green}{W}\textbf{ow}\textsuperscript{Wow}}test
334
335 test\vphantom{Wow\textbackslash{}\&\%}test
336
337 $test\hphantom{Wow}test$
338
339 \[
340 test\phantom{\textcolor{green}{W}\mathbf{ow}\textsuperscript{Wow}}test
341 \]
342
343
344 $test\vphantom{Wow\&\%}test$
345
346
347 \subsection{Line breaks}
348
349 They can also or be broken by a newline\\
350 or by a starred newline \\*
351 or by a newline with space, comment and argument \\ %hu
352 [3cm]
353 or by a newline command \newline
354 or by a line break \linebreak
355 or by a defined line break \linebreak % again with a comment
356         [4]
357
358 There are even newlines with weird arguments, but these are not
359 handled by LyX\\*[1cm]
360 so we try to use ERT in this case.
361
362 \subsection{Page breaks}
363
364 They can also or be broken by a newpage \newpage
365 or by a page break \pagebreak
366 or by a defined page break \pagebreak % again with a comment
367         [4]
368
369 \section{Special characters\index{Special characters}}
370
371 Then one has those macros with a long name for a short meaning, like
372 \textasciitilde, \textasciicircum{} or \textbackslash{}, \slash{},
373 \nobreakdash- and the characters
374 that LaTeX wants to espace because they are active, like \_\&\#\$\{\}\%.
375
376 And what about special characters like hyphe\-nation mark,
377 ellipsis\ldots, and end-of-sentence\@. LyX also supports a menu
378 separator\lyxarrow{}and a spif\textcompwordmark{}fy ligature break.
379
380 LyX translates the phrases LyX, TeX, LaTeX2e and LaTeX
381 to the commands \LyX{}, \TeX{}, \LaTeXe{} and \LaTeX{}.
382 If these phrases occur as part of other words (like 1LyX or aTeX or LaTeX3)
383 they should not be put into ERT.
384
385 Test for whitespace handling of commands: The following lines should
386 result in identical output:
387
388 builtin \textasciicircum{} unicodesymbols \j{} user \mycommand{} xx\par
389 builtin \textasciicircum {} unicodesymbols \j {} user \mycommand{} xx\par
390 builtin \textasciicircum % with a comment
391 {} unicodesymbols \j % and a second one
392 {} user \mycommand % and another
393 {} xx
394
395 A sub\textsubscript{sc\emph{ript}} and super\textsuperscript{script
396 with $a^2+b^2=c^2$ math}.
397
398 \printindex{}
399
400 \printnomenclature hello
401
402 \settowidth{\nomlabelwidth}{URL2}
403 \printnomenclature{}
404
405 \printnomenclature[0.02\linewidth]{}
406
407 \end{document}