From 6d3800d3b164704c4038f84408b27f759a4ea744 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 15 Jan 2013 23:01:04 +0000 Subject: datatool (15jan13) git-svn-id: svn://tug.org/texlive/trunk@28844 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/datatool/samples/sample-dict.tex | 439 +++++++++++++++++++++ 1 file changed, 439 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex (limited to 'Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex') diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex new file mode 100644 index 00000000000..5f2dbee76dc --- /dev/null +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex @@ -0,0 +1,439 @@ +\documentclass[oneside]{scrbook} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{mathpazo} + +% The low optimize setting won't work for this example +\usepackage[optimize=high]{datagidx} + +\usepackage[colorlinks]{hyperref} + +% This is an example document that uses datagidx to create a +% sorted dictionary, using datatool to do the sorting. + +% Make a database labelled 'index' with the given title + +\newgidx[heading={\title}]{index}{Sample Dictionary Created Using datagidx} + +% Define some terms for the dictionary + +% First set the default database, so we don't have to keep using the +% "database" key: +\DTLgidxSetDefaultDB{index} + +% Add some custom fields + +\newtermaddfield{Derivatives}{derivatives}{} + +\newtermaddfield{Origin}{origin}{} + +\newtermaddfield{Phrases}{phrases}{} + +\newtermaddfield{Subject}{subject}{} + +\newtermaddfield{Variation}{variation}{} + +\newtermaddfield{Phonetic}{phonetic}{} + +\newtermaddfield{AltPlural}{altplural}{} + +\newtermaddfield{Parenthetical}{parenthetical}{} + +% Provide a convenient interface to define words: + +% Syntax: \newentry[main option list][cat opt list]{word}{category}{definition} + +\newcommand*{\newentry}[1][]{% + \def\newentryopts{#1}% + \nnewentry +} + +\newcommand*{\nnewentry}[4][]{% + \expandafter\newterm\expandafter[\newentryopts]{#2}% + \newterm + [% + label={\datagidxlastlabel-#3},% + parent={\datagidxlastlabel},% + description={#4},% + text={#3},% + #1% + ]% + {#3}% + \setcounter{newentrysubcat}{0}% +} + +% Syntax: \newentrycat{parent label}{category}{definition} + +\newcommand*{\newentrycat}[3]{% + \newterm + [% + label={#1-#2},% + parent={#1},% + description={#3}% + ]% + {#2}% + \setcounter{newentrysubcat}{0}% +} + +% Syntax: \newentrysubcat[option list]{parent label}{description} + +\newcounter{newentrysubcat} + +\newcommand*{\newentrysubcat}[3][]{% + \stepcounter{newentrysubcat}% + \newterm + [% + label={#2-\arabic{newentrysubcat}},% + sort={#2-\arabic{newentrysubcat}},% + parent={#2},% + description={#3},% + #1% + ] + {}% +} + +\newcommand*{\categoryand}{ \& } + +% hook into the mechanism that constructs the label and sort fields from +% the name: + +\appto\newtermlabelhook{\def\categoryand{+}} + +\newcommand*{\namefont}[1]{\textbf{\sffamily #1}} +\newcommand*{\subjectfont}[1]{\textsf{#1}} +\newcommand*{\categoryfont}[1]{\namefont{#1}} +\newcommand*{\originfont}[1]{\emph{#1}} +\newcommand*{\derivativeformat}[2]{\textbf{#1}\space\textsf{#2}} +\newcommand*{\phoneticformat}[1]{/#1/} + +\newcommand*{\stress}[1]{\textbf{#1}} + +\newcommand*{\crossref}[1]{\textbf{\useentry{#1}{Name}}} +\newcommand*{\Crossref}[1]{\textbf{\textsc{\useentry{#1}{Name}}}} + +% Words and their definitions taken from the Compact Oxford English +% Dictionary + +% label and sort must both be specified here as \newterm can't cope +% with {\ae} when automatically generating the label and sort from +% the name +\newentry + [% + phonetic={ee-\stress{oh}-li-uhn}, + origin={from \originfont{\AE olus}, the Greek god of the winds}, + label=aeolian, + sort=aeolian + ] + {{\ae}olian harp}{noun}{a stringed instrument that produces musical +sounds when a current of air passes through it} + +% Similarly label and sort are needed here +\newentry + [% + phonetic={i-\stress{sof}-fuh-guhss}, + plural={{œ}sophagi}, + origin={Greek \originfont{oisophagos}}, + label={oesophagus}, + sort={oesophagus} + ] + {{œ}sophagus}{noun}{the muscular tube which connects throat to +stomach} + +\newentry + [% additional info + origin={Old English} + ]% + [% + subject={literary} + ] + {asunder}{adverb}{apart} + +\newentry + [% additional info + origin={Old English}, + parenthetical={\subjectfont{US} \namefont{adz}} + ] + {adze}{noun}{a tool similar to an axe, with an arched blade at right angles to + the handle} + +\newentry + [% additional info + origin={Latin \originfont{astutus}}, + derivatives={\derivativeformat{astutely}{adverb} + \derivativeformat{astuteness}{noun}} + ] + {astute}{adjective}{good at making accurate judgements; shrewd} + +\newentry{astern}{adverb}{behind or towards the rear of a ship} + +\newentry{thunderbolt}{noun}{flash of lightning with a crash of +thunder at the same time} + +\newentry{thunderclap}{noun}{a crash of thunder} + +\newentry + [% + origin={Italian \originfont{ticchio}} + ] + {tic}{noun}{a recurring spasm of the muscles, most often in +the face} + +\newentry + [% + phonetic={thwort}, + origin={from Old Norse, `transverse'} + ] + {thwart}{verb}{} + +\newentrysubcat{thwart-verb}{prevent someone from accomplishing +something} + +\newentrysubcat{thwart-verb}{prevent something from succeeding} + +\newentrycat{thwart}{noun}{a crosspiece forming a seat for a rower +in a boat} + +\newentry + [% additional info + origin={from an old sense of \Crossref{thwart}, meaning +`across'}, + phonetic={uh-\stress{thwart}} + ] + {athwart}{preposition\categoryand adverb}{from side to side of something; + across} + +\newentry + [% + phonetic={aw-\stress{bree}-shuh}, + parenthetical={also \namefont{aubrietia}}, + origin={named after the French botanist Claude \originfont{Aubriet}} + ] + {aubretia}{noun}{a trailing plant with purple, pink, or white +flowers} + +\newentry + [% + phonetic={aw-\stress{day}-shuhss}, + derivatives={\derivativeformat{audaciously}{adverb} + \derivativeformat{audaciousness}{noun} + \derivativeformat{audacity}{noun}}, + origin={Latin \originfont{audax} `bold'} + ] + {audacious}{adjective}{} + +\newentrysubcat{audacious-adjective}{willing to take daring risks} +\newentrysubcat{audacious-adjective}{showing lack of respect; rude +or impudent} + +\newentry + [% + parenthetical={pl.\ \namefont{attorneys}}, + phonetic={uh-\stress{ter}-ni}, + origin={Old French \originfont{atorner} `assign'} + ] + {attorney}{noun}{} + +\newentrysubcat{attorney-noun}{a person appointed to act for another +in legal matters} + +\newentrysubcat + [% + subject={chiefly US}% + ] + {attorney-noun}{a lawyer} + +\newentry + [ + phonetic={\stress{ay}-tri-uhm}, + altplural={atria}, + parenthetical={pl.\ \namefont{atria} + \phoneticformat{\stress{ay}-tri-uh} + or \namefont{atriums}}, + derivatives={\derivativeformat{atrial}{adjective}}, + origin={Latin} + ] + {atrium}{noun}{} + +\newentrysubcat{atrium-noun}{a central hall rising through several +storeys and having a glazed roof} + +\newentrysubcat{atrium-noun}{an open area in the centre of an +ancient Roman house} + +\newentrysubcat{atrium-noun}{each of the two cavities of the heart} + +\newentry + [% + plural={austerities}, + phonetic={oss-\stress{te}-ri-ti} + ] + {austerity}{noun}{} + +\newentrysubcat{austerity-noun}{strictness or severity of appearance +or manner} +\newentrysubcat{austerity-noun}{difficult economic conditions +resulting from a cut in public spending} + +\newentry +[ + plural={cacti}, + altplural={cactuses}, + origin={Greek \originfont{kaktos} `cardoon'} +] +{cactus}{noun}{a succulent plant with thick fleshy stems bearing +spikes but no leaves} + +\newentry + [% + phonetic={chahf}, + phrases={\namefont{separate} (or \namefont{sort}) \namefont{the + wheat from the chaff} distinguish valuable people or things from + worthless ones}, + origin={Old English} + ] + {chaff\textsuperscript{1}}{noun}{} + +\newentrysubcat{chaff1-noun}{the husks of grain from the seed by +winnowing or threshing} + +\newentrysubcat{chaff1-noun}{chopped hay and straw used in cattle +fodder} + +\newentry + [ + phonetic={chaff}, + ] + {chaff\textsuperscript{2}}{noun}{light-hearted joking} + +\newentrycat{chaff2}{verb}{tease someone} + +\newterm +[ + plural={elves},% + derivatives={\derivativeformat{elfish}{adjective} + \derivativeformat{elven}{adjective (literary)} + \derivativeformat{elvish}{adjective}},% + origin={Old English},% + description={a supernatural creature of folk tales, represented as + a small human figure with pointed ears} +] +{elf} + +% Be careful of words starting with an accent. + +\newterm + [ + label={elite},% + phonetic={i-\stress{leet}},% + origin={French, `selection, choice'}% + ] + {{é}lite} + +\newentrycat{elite}{noun}{a group of people regarded as the best in a +particular society or organisation} + +\newterm + [ + description={plural of \Crossref{elf}}% + ] + {elves} + +% Add all entries + +\glsaddall{index} + +% Customise index format + +\renewcommand{\DTLgidxNameFont}[1]{\namefont{\large#1}} + +\newcommand{\postnamespace}{\space} + +\renewcommand{\DTLgidxPostName}{% + \ifdefempty\Subject + {% + }% + {% + \space\subjectfont{\Subject}% + }% + \ifdefempty\Phonetic + {% + }% + {% + \space\phoneticformat{\Phonetic}% + }% + \ifdefempty\Parenthetical + {% + \ifdefempty\AltPlural + {% + \ifthenelse{\equal{\Plural}{\Text s}}% + {% + }% + {% + \space (pl.\ \namefont{\Plural})% + }% + }% + {% + \space (pl. \namefont{\Plural} or \namefont{\AltPlural})% + }% + }% + {% + \space (\Parenthetical)% + }% + \postnamespace +} + +\renewcommand{\DTLgidxCategoryNameFont}[1]{\categoryfont{#1}} +\renewcommand{\DTLgidxCategorySep}{\space\textbullet\space} +\renewcommand*{\DTLgidxChildCountLabel}{% + \def\postnamespace{~\def\postnamespace{\space}}% + \textbf{\sffamily\theDTLgidxChildCount}% +} + +\renewcommand{\DTLgidxDictPostItem}{% + \ifdefempty\Derivatives + {} + {% + \par + \datagidxdictparshape + -- \textsc{derivatives} \Derivatives. + }% + \ifdefempty\Phrases + {} + {% + \par + \datagidxdictparshape + -- \textsc{phrases} \Phrases. + }% + \ifdefempty\Origin + {} + {% + \par + \datagidxdictparshape + -- \textsc{origin} \Origin. + }% + \par +} + +% Title information +\author{} +\date{} + +\begin{document} +% don't number the chapters +\setcounter{secnumdepth}{-1} + +\printterms +[ + database=index, + postheading={\maketitle This is an example document illustrating + the use of the datagidx package. The examples here are taken from + the Compact Oxford English Dictionary. + }, + columns=2, + postdesc=dot,% + childsort=false,% don't sort the child lists + style={dict} % use the 'dict' style +] + +\end{document} -- cgit v1.2.3