summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-05 21:15:48 +0000
committerKarl Berry <karl@freefriends.org>2019-05-05 21:15:48 +0000
commit37802572d3b3b4ef8329d44629fb01a4ee98d9b3 (patch)
treef9940140bc5aa453bdb430f7d54e79ba73bea320 /Master/texmf-dist
parenta9bf24cfbe9b0730dd6e4a4023496aa9505327bc (diff)
metrix (5may19)
git-svn-id: svn://tug.org/texlive/trunk@51012 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/metrix/metrix.pdfbin517396 -> 637957 bytes
-rw-r--r--Master/texmf-dist/source/latex/metrix/metrix.dtx399
-rw-r--r--Master/texmf-dist/source/latex/metrix/metrix.ins2
-rw-r--r--Master/texmf-dist/tex/latex/metrix/metrix.sty131
4 files changed, 397 insertions, 135 deletions
diff --git a/Master/texmf-dist/doc/latex/metrix/metrix.pdf b/Master/texmf-dist/doc/latex/metrix/metrix.pdf
index f549456846a..ef37f8ec489 100644
--- a/Master/texmf-dist/doc/latex/metrix/metrix.pdf
+++ b/Master/texmf-dist/doc/latex/metrix/metrix.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/metrix/metrix.dtx b/Master/texmf-dist/source/latex/metrix/metrix.dtx
index 09ad4f820f2..f944927dc4d 100644
--- a/Master/texmf-dist/source/latex/metrix/metrix.dtx
+++ b/Master/texmf-dist/source/latex/metrix/metrix.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: metrix.dtx Copyright (C) 2013-2015 Tobias Weh
+%% File: metrix.dtx Copyright (C) 2013-2016 Tobias Weh
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -27,8 +27,8 @@
%<package> }
\def\metrixFileName{metrix}
\def\metrixFileDescription{Typset prosody/metric symbols.}
-\def\metrixFileDate{2016/03/21}
-\def\metrixFileVersion{1.3}
+\def\metrixFileDate{2019/05/05}
+\def\metrixFileVersion{1.4}
%</driver|package>
%<*driver>
\documentclass[full,english]{l3doc}
@@ -71,6 +71,14 @@
\usepackage[scale=0.875]{tgheros}
\usepackage{ascii}
+\usepackage{upquote}
+ % add \@noligs to the redefinitions made by doc.sty to make upquote work
+ \makeatother
+ \patchcmd{\verb}{\ttfamily}{\ttfamily\@noligs}{}{}
+ \patchcmd{\verbatim}{\frenchspacing}{\frenchspacing\@noligs}{}{}
+ \patchcmd{\macrocode}{\frenchspacing}{\frenchspacing\@noligs}{}{}
+ \makeatother
+
\edef\pluschar{+}
\AtBeginDocument{
@@ -182,33 +190,54 @@
% or a combination of characters. The list with all available abbreviations can
% be found in table~\ref{tab:symbols}. Please keep in mind that \metrix/ uses spaces to
% separate the abbreviations an something like +_'x+ will cause an error, the
-% correct input is +_ ' x+.
-% \begin{table}[htbp]
-% \caption{Symbol abbreviations}\label{tab:symbols}
-% \centering
-% \begin{tabu} {l>{\itshape}lcl}
-% \toprule
-% \rowfont{\bfseries\sffamily} \multicolumn{2}{l}{abbreviation} & symbol & explantion \\
-% \midrule
-% +e+ && \metricsymbols{e} & empty (=\,invisible) symbol \\
-% +u+ && \metricsymbols{u} & elementum breve \\
-% +_+ & under score & \metricsymbols{_} & elementum longum \\
-% +uu+ && \metricsymbols{uu} & double breve \\
-% +uu_+ && \metricsymbols{uu_} & elementum biceps \\
-% +_uu+ && \metricsymbols{_uu} & elementum biceps \\
-% +u_uu+ && \metricsymbols{u_uu} & elementum anceps \\
-% +x+ && \metricsymbols{x} & elementum anceps \\
-% +n+ && \metricsymbols{n} & elementum indifferens \\
-% +u_+ && \metricsymbols{u_} & elementum indifferens \\
-% +oo+ & two lowercase o's & \metricsymbols{oo} & aeolic base \\
-% +|+ & pipe & \metricsymbols{|} & break (see \ref{sec:breaks}) \\
-% +||+ & two pipes & \metricsymbols{||} & verse break (see \ref{sec:breaks}) \\
-% +'+ & apostrophe (shift\,\pluschar\,\#) & \metricsymbols{'} &
-% shorter break (see \ref{sec:breaks}) \\
-% +,+ & comma & \metricsymbols{,} & shorter break (see \ref{sec:breaks}) \\
-% \bottomrule
-% \end{tabu}
-% \end{table}
+% correct input is \verb*|_ ' x| (where \verb*| | indicates a space/blank).
+% \subsubsection*{Accents above symbols (ictus)}
+% If you want to add an additional accent above a symbol you may precede the symbol with
+% an acute +´+ or grave +`+. At the moment this only works with breve (+´u+ or +`u+)
+% and longum (+´_+ or +`_+).
+% \begin{longtabu}to \textwidth {l>{\itshape}lcXl}
+% \caption{Symbol abbreviations\label{tab:symbols}}\\
+% \toprule
+% \rowfont{\bfseries\sffamily} \multicolumn{2}{l}{abbreviation} & symbol & name/explantion & accent/ictus? \\
+% \midrule
+% \endfirsthead
+% \caption{Symbol abbreviations (cont.)}\\
+% \toprule
+% \rowfont{\bfseries\sffamily} \multicolumn{2}{l}{abbreviation} & symbol & name/explantion & accent/ictus? \\
+% \midrule
+% \endhead
+% \multicolumn{5}{r}{\dots}
+% \endfoot
+% \bottomrule
+% \endlastfoot
+% +e+ && \metricsymbols{e} & empty (=\,invisible) symbol & \\
+% +u+ && \metricsymbols{u} & elementum breve & yes \\
+% +_+ & underscore & \metricsymbols{_} & elementum longum & yes \\
+% +uu+ && \metricsymbols{uu} & double breve & \\
+% +uu_+ && \metricsymbols{uu_} & elementum biceps & \\
+% +_uu+ && \metricsymbols{_uu} & elementum biceps & \\
+% +u_uu+ && \metricsymbols{u_uu} & elementum anceps & \\
+% +x+ && \metricsymbols{x} & elementum anceps & \\
+% +n+ && \metricsymbols{n} & elementum indifferens & \\
+% +u_+ && \metricsymbols{u_} & elementum indifferens & \\
+% +A+ && \metricsymbols{A} & * & \\
+% +v+ && \metricsymbols{v} & * & \\
+% +o+ && \metricsymbols{o} & * & \\
+% +oo+ && \metricsymbols{oo} & aeolic base & \\
+% +l+ && \metricsymbols{l} & * & \\
+% +ll+ && \metricsymbols{ll} & * & \\
+% +p+ && \metricsymbols{p} & primary stress & \\
+% +s+ && \metricsymbols{s} & secondary stress & \\
+% +|+ & pipe & \metricsymbols{|} & break (see \ref{sec:breaks}) & \\
+% +||+ & two pipes & \metricsymbols{||} & verse break (see \ref{sec:breaks}) & \\
+% +'+ & apostrophe (shift\,\pluschar\,\#) & \metricsymbols{'} &
+% shorter break (see \ref{sec:breaks}) & \\
+% +,+ & comma & \metricsymbols{,} & shorter break (see \ref{sec:breaks}) & \\
+% \end{longtabu}
+% \par
+% {\vspace{-0.5\baselineskip}\itshape\footnotesize\noindent
+% * I added these symbols as someone might needs them. If you use them please let me
+% know what to add as name/explanation.\par}
% \subsection{Stand alone metric symbols}
% \begin{function}[EXP]{\metricsymbols}
% \begin{syntax}
@@ -337,7 +366,7 @@
% \metricsymbols[2={add arrow}]{u u_uu x _ | u _ n ||}
%
% This style adds an arrow above the metric symbol. To change the arrow symbol, edit
-% the variable \verb+metrix+.
+% the \metrix/ variable \verb+arrow+.
%
% \item \textbf{\texttt{add text}=}\meta{text}\\[2ex]
% \metrics[3+8={add text=shout!}]{_ u u _ _ _ | _ _ u u _ ||}
@@ -944,9 +973,9 @@
% +bowshift+ & +-0.15em+ & length to shift the bow below the base line \\
% +bowshortening+ & +0.15em+ & length to shrink the bow a little \\
% +bowlooseness+ & +0.75+ & value to influence the bending of the bow \\
-% +symbolcolor+ & +black+ & color of metric symbols \\
-% +accentcolor+ & +black+ & color of accents (\cs{lng} and \cs{brv}) \\
-% +bowcolor+ & +black+ & color of bows (\cs{bow}) \\
+% +symbolcolor+ & +.+ (curr. color) & color of metric symbols \\
+% +accentcolor+ & +.+ (curr. color) & color of accents (\cs{lng} and \cs{brv}) \\
+% +bowcolor+ & +.+ (curr. color) & color of bows (\cs{bow}) \\
% +highlightcolor+ & +red+ & color of highlighted symbols and syllabels
% used in +colored highlight+ style \\
% +fillcolor+ & +yellow+ & color of filled symbol +node+s
@@ -954,6 +983,8 @@
% +arrow+ & +\$+\cs{downarrow}+\$+ & arrow for highlighting \\
% +breakgap+ & +0.6em+ & gap before and after a (verse) break \\
% +emptywidth+ & +1em+ & gap replacing an empty symbol (abbreviation +e+) \\
+% +acute+ & +´+ & acute accent character/symbol \\
+% +grave+ & +\`{}+ & grave accent character/symbol \\
% \end{longtabu}
%
% \subsection{\TikZ/ styles}\label{sec:styles}
@@ -1014,8 +1045,111 @@
\ExplSyntaxOn
% \end{macrocode}
%
-% \subsection{Variables}
-% All variables are internal. The user can change them via \cs{setmetrixvar} and use them
+% \subsection{Constants and internal variables}
+% These constants variables are for internal use only and can't be changed/accessed by the user.
+% \subsubsection{Constants}
+% \begin{variable}[internal]{\c_@@_acute_accent_tl}
+% Constant holding an acute accent char.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_acute_accent_tl { ´ }
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\c_@@_acute_accent_tl}
+% Constant holding an grave accent char.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_grave_accent_tl { ` }
+% \end{macrocode}
+% \end{variable}
+% \subsubsection{Variables}
+% \begin{variable}[internal]{\l_@@_words_tl}
+% This list stores the words of the \cs{metrics} macro.
+% \begin{macrocode}
+\tl_new:N \l_@@_words_tl
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_syllables_seq}
+% This list stores the words of the \cs{l_@@_words_tl} list.
+% \begin{macrocode}
+\seq_new:N \l_@@_syllables_seq
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_symbols_seq}
+% This list stores the metric symbols of \cs{metrics} and \cs{metricsymbols}.
+% \begin{macrocode}
+\seq_new:N \l_@@_symbols_seq
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_short_breaks_seq,\l_@@_foot_breaks_seq}
+% This list stores the short and foot breaks of \cs{metrics}.
+% \begin{macrocode}
+\seq_new:N \l_@@_short_breaks_seq
+\seq_new:N \l_@@_foot_breaks_seq
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_highlights_prop}
+% This list stores the higlighting styles of \cs{metrics} and \cs{metricsymbols}.
+% \begin{macrocode}
+\prop_new:N \l_@@_highlights_prop
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_highlight_seq,\l_@@_highlight_pos_seq}
+% This lists are used to evaluate a higlight style.
+% \begin{macrocode}
+\seq_new:N \l_@@_highlight_seq
+\seq_new:N \l_@@_highlight_pos_seq
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\q_@@_space_marker}
+% This is the marker for spaces inside of the \cs{l_@@_words_tl} list.
+% \begin{macrocode}
+\quark_new:N \q_@@_space_marker
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_process_int}
+% This process counter is used to combine the symbols and syllables.
+% \begin{macrocode}
+\int_new:N \l_@@_process_int
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_short_syllable_bool,\l_@@_syllable_box,\g_@@_variable_shortsyllablelimit_tl}
+% This boolean can be used to store that a syllable is short, e.g. \emph{li} will be defined
+% as short wheras \emph{man} is long. That will be used to shorten the |_| symbol. Furthermore
+% we'll need a box to measure the length of a syllable and a variable to save the limit for
+% short syllables.
+% \begin{macrocode}
+\bool_new:N \l_@@_short_syllable_bool
+\box_new:N \l_@@_syllable_box
+\tl_new:N \g_@@_variable_shortsyllablelimit_tl
+\tl_set:Nn \g_@@_variable_shortsyllablelimit_tl { 0.8em }
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_current_symbol_tl}
+% Variable holding the current symbol abbreviation.
+% \begin{macrocode}
+\tl_new:N \l_@@_current_symbol_tl
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_current_symbol_head_tl}
+% Variable holding firt char of the current symbol abbreviation.
+% \begin{macrocode}
+\tl_new:N \l_@@_current_symbol_head_tl
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_has_acute_accent_bool}
+% Bool for switching on an acute accent of a symbol.
+% \begin{macrocode}
+\bool_new:N \l_@@_has_acute_accent_bool
+% \end{macrocode}
+% \end{variable}
+% \begin{variable}[internal]{\l_@@_has_grave_accent_bool}
+% Bool for switching on an grave accent of a symbol.
+% \begin{macrocode}
+\bool_new:N \l_@@_has_grave_accent_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \subsection{User variables}
+% These variables save things, the user can change via \cs{setmetrixvar} and use
% via \cs{usemetrixvar}.
% \begin{variable}[internal]{\g_@@_variable_symbollinewidth_tl}
% This variable stores the line width for all metric symbols above (or below) syllables.
@@ -1162,14 +1296,15 @@
% \end{variable}
% \begin{variable}[internal]
% {\g_@@_variable_symbolcolor_tl,\g_@@_variable_accentcolor_tl,g_@@_variable_bowcolor_tl}
+% \changes{v1.4}{2016/03/29}{Changed symbol and accent color to current color.}
% These variables store the color of symbols, accents and bows.
% \begin{macrocode}
\tl_new:N \g_@@_variable_symbolcolor_tl
-\tl_set:Nn \g_@@_variable_symbolcolor_tl { black }
+\tl_set:Nn \g_@@_variable_symbolcolor_tl { . }
\tl_new:N \g_@@_variable_accentcolor_tl
-\tl_set:Nn \g_@@_variable_accentcolor_tl { black }
+\tl_set:Nn \g_@@_variable_accentcolor_tl { . }
\tl_new:N \g_@@_variable_bowcolor_tl
-\tl_set:Nn \g_@@_variable_bowcolor_tl { black }
+\tl_set:Nn \g_@@_variable_bowcolor_tl { . }
% \end{macrocode}
% \end{variable}
% \begin{variable}[internal]
@@ -1211,66 +1346,18 @@
\tl_set:Nn \g_@@_variable_emptywidth_tl { 1em }
% \end{macrocode}
% \end{variable}
-% \begin{variable}[internal]{\l_@@_words_tl}
-% This list stores the words of the \cs{metrics} macro.
-% \begin{macrocode}
-\tl_new:N \l_@@_words_tl
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_syllables_seq}
-% This list stores the words of the \cs{l_@@_words_tl} list.
+% \begin{variable}[internal]{\g_@@_variable_acute_tl}
+% This variable stores acute symbol.
% \begin{macrocode}
-\seq_new:N \l_@@_syllables_seq
+\tl_new:N \g_@@_variable_acute_tl
+\tl_set:Nn \g_@@_variable_acute_tl { ´ }
% \end{macrocode}
% \end{variable}
-% \begin{variable}[internal]{\l_@@_symbols_seq}
-% This list stores the metric symbols of \cs{metrics} and \cs{metricsymbols}.
+% \begin{variable}[internal]{\g_@@_variable_grave_tl}
+% This variable stores grave symbol.
% \begin{macrocode}
-\seq_new:N \l_@@_symbols_seq
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_short_breaks_seq,\l_@@_foot_breaks_seq}
-% This list stores the short and foot breaks of \cs{metrics}.
-% \begin{macrocode}
-\seq_new:N \l_@@_short_breaks_seq
-\seq_new:N \l_@@_foot_breaks_seq
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_highlights_prop}
-% This list stores the higlighting styles of \cs{metrics} and \cs{metricsymbols}.
-% \begin{macrocode}
-\prop_new:N \l_@@_highlights_prop
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_highlight_seq,\l_@@_highlight_pos_seq}
-% This lists are used to evaluate a higlight style.
-% \begin{macrocode}
-\seq_new:N \l_@@_highlight_seq
-\seq_new:N \l_@@_highlight_pos_seq
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\q_@@_space_marker}
-% This is the marker for spaces inside of the \cs{l_@@_words_tl} list.
-% \begin{macrocode}
-\quark_new:N \q_@@_space_marker
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_process_int}
-% This process counter is used to combine the symbols and syllables.
-% \begin{macrocode}
-\int_new:N \l_@@_process_int
-% \end{macrocode}
-% \end{variable}
-% \begin{variable}[internal]{\l_@@_short_syllable_bool,\l_@@_syllable_box,\g_@@_variable_shortsyllablelimit_tl}
-% This boolean can be used to store that a syllable is short, e.g. \emph{li} will be defined
-% as short wheras \emph{man} is long. That will be used to shorten the |_| symbol. Furthermore
-% we'll need a box to measure the length of a syllable and a variable to save the limit for
-% short syllables.
-% \begin{macrocode}
-\bool_new:N \l_@@_short_syllable_bool
-\box_new:N \l_@@_syllable_box
-\tl_new:N \g_@@_variable_shortsyllablelimit_tl
-\tl_set:Nn \g_@@_variable_shortsyllablelimit_tl { 0.8em }
+\tl_new:N \g_@@_variable_grave_tl
+\tl_set:Nn \g_@@_variable_grave_tl { \`{} }
% \end{macrocode}
% \end{variable}
%
@@ -1281,6 +1368,7 @@
\cs_generate_variant:Nn \prop_put:Nnn { Nnx , Nxx , Nff , Noo }
\cs_generate_variant:Nn \seq_item:Nn { Nf , NV , Nx }
\cs_generate_variant:Nn \seq_set_split:Nnn { Nnf , NnV , Nnx }
+\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
% \end{macrocode}
%
% \subsection{Internal main macros}
@@ -1561,16 +1649,32 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_print_symbol:
{
+ \tl_set:Nx \l_@@_current_symbol_tl
+ {
+ \seq_item:Nn \l_@@_symbols_seq { \l_@@_process_int }
+ }
+ \tl_set:Nx \l_@@_current_symbol_head_tl
+ {
+ \tl_head:N \l_@@_current_symbol_tl
+ }
+ \tl_case:NnT \l_@@_current_symbol_head_tl
+ {
+ \c_@@_acute_accent_tl { \bool_set_true:N \l_@@_has_acute_accent_bool }
+ \c_@@_grave_accent_tl { \bool_set_true:N \l_@@_has_grave_accent_bool }
+ }
+ {
+ \tl_remove_once:NV \l_@@_current_symbol_tl \l_@@_current_symbol_head_tl
+ }
\cs_if_exist_use:cF
{
- @@_\seq_item:Nn \l_@@_symbols_seq
- { \l_@@_process_int }_mark:
+ @@_
+ \tl_use:N \l_@@_current_symbol_tl
+ _mark:
}
{
\@@_error_msg:n
{
- Unknown~symbol~abbreviation~'\seq_item:Nn
- \l_@@_symbols_seq { \l_@@_process_int }'.
+ Unknown~symbol~abbreviation~'\tl_use:N \l_@@_current_symbol_tl'.
}
}
}
@@ -1578,7 +1682,6 @@
% \end{macro}
%
% \subsection{Internal auxiliary macros}
-%
% \begin{macro}[internal]{\@@_error_msg:n}
% An abbreviation to throw an error message.
% \begin{macrocode}
@@ -1591,7 +1694,6 @@
}
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}[internal]{\@@_warning_msg:n}
% An abbreviation to throw an error message.
% \begin{macrocode}
@@ -1601,7 +1703,6 @@
}
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}[internal]{\@@_align_symbol:n}
% This macro alings the metric symbols in a stand alone list.
% \begin{macrocode}
@@ -1634,7 +1735,6 @@
% \begin{macro}[internal]{\@@_break_node:n}
% This macro typsets the gap around the two break symbols.
% \begin{macrocode}
-
\cs_new:Npn \@@_break_node:n #1
{
\group_begin:
@@ -1647,9 +1747,6 @@
;
\group_end:
}
-
-
-
% \end{macrocode}
% \end{macro}
% \begin{macro}[internal]{\@@_e_gap:}
@@ -1770,6 +1867,14 @@
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) arc [start~angle=0, end~angle=180, radius=-0.225];
+ \bool_if:NT \l_@@_has_acute_accent_bool
+ {
+ \node at (0.225,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l_@@_has_grave_accent_bool
+ {
+ \node at (0.225,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
% \end{macrocode}
@@ -1783,11 +1888,27 @@
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) -- ++(0.4,0);
+ \bool_if:NT \l_@@_has_acute_accent_bool
+ {
+ \node at (0.2,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l_@@_has_grave_accent_bool
+ {
+ \node at (0.2,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) -- ++(0.75,0);
+ \bool_if:NT \l_@@_has_acute_accent_bool
+ {
+ \node at (0.375,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l_@@_has_grave_accent_bool
+ {
+ \node at (0.375,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
}
@@ -1869,7 +1990,43 @@
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}[internal]{\@@_oo_mark:}
+% \begin{macro}[internal]{\@@_v_mark:}
+% \changes{v1.4}{2019/05/04}{Added \texttt{v} symbol.}
+% The (yet) unnamed symbol \metricsymbols*{v}.
+% \begin{macrocode}
+\cs_new:Npn \@@_v_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) -- (0.225,-0.225) -- (0.45,0);
+ \end{tikzpicture}
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[internal]{\@@_A_mark:}
+% \changes{v1.4}{2019/05/04}{Added \texttt{A} symbol.}
+% The (yet) unnamed symbol \metricsymbols*{A}.
+% \begin{macrocode}
+\cs_new:Npn \@@_A_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) -- (0.225,0.225) -- (0.45,0);
+ \end{tikzpicture}
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[internal]{\@@_o_mark:}
+% \changes{v1.4}{2019/05/04}{Added \texttt{o} symbol.}
+% The (yet) unnamed symbol \metricsymbols*{o}.
+% \begin{macrocode}
+\cs_new:Npn \@@_o_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) circle [radius=0.2];
+ \end{tikzpicture}
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[internal,added=2019/05/04]{\@@_oo_mark:}
% The aeolic symbol \metricsymbols*{oo}.
% \begin{macrocode}
\cs_new:Npn \@@_oo_mark:
@@ -1909,6 +2066,30 @@
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}[internal]{\@@_p_mark:}
+% \changes{v1.4}{2019/05/04}{Added primary stress symbol.}
+% The primary stress symbol \metricsymbols*{p}.
+% \begin{macrocode}
+\cs_new:Npn \@@_p_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (-0.2,-0.2) -- (0.2,0.2);
+ \end{tikzpicture}
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[internal]{\@@_s_mark:}
+% \changes{v1.4}{2019/05/04}{Added secondary stress symbol.}
+% The secondary stress symbol \metricsymbols*{s}.
+% \begin{macrocode}
+\cs_new:Npn \@@_s_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (-0.2,0.2) -- (0.2,-0.2);
+ \end{tikzpicture}
+ }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}[internal]{\@@_l_mark:}
% The simple break symbol \metricsymbols*{|} (above syllables).
% \begin{macrocode}
@@ -2342,6 +2523,8 @@
% ^^A use updated=YYYY-MM-DD or new=YYY-MM-DD in {documentation} section
% \changes{v1.0}{2013/08/12}{Initial version}
% \changes{v1.2a}{2016/01/21}{Replaced deprecated \cs{prop_get} variants (Thanks to J. Wright).}
-% \changes{v1.3}{2016/03/21}{New highlight styles: \texttt{add text} and \texttt{add arrow}}
+% \changes{v1.3}{2016/03/21}{New highlight styles: \texttt{add text} and \texttt{add arrow}.}
+% \changes{v1.4}{2019/05/04}{Added docs for \texttt{l} and \texttt{ll} symbol.}
+% \changes{v1.4}{2019/05/05}{Added possibility to add accents/icutus above symbols.}
%
% \PrintIndex^^A use: makeindex -s l3doc.ist -o metrix-doc.ind metrix-doc.idx \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/metrix/metrix.ins b/Master/texmf-dist/source/latex/metrix/metrix.ins
index c7d13e23ac7..3ad8d59d3d7 100644
--- a/Master/texmf-dist/source/latex/metrix/metrix.ins
+++ b/Master/texmf-dist/source/latex/metrix/metrix.ins
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File metrix.ins Copyright (C) 2013-2015 Tobias Weh
+File metrix.ins Copyright (c) 2013--2016 Tobias Weh
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/Master/texmf-dist/tex/latex/metrix/metrix.sty b/Master/texmf-dist/tex/latex/metrix/metrix.sty
index b6923b854cf..6148ee53202 100644
--- a/Master/texmf-dist/tex/latex/metrix/metrix.sty
+++ b/Master/texmf-dist/tex/latex/metrix/metrix.sty
@@ -20,7 +20,7 @@
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
-%% File: metrix.dtx Copyright (C) 2013-2015 Tobias Weh
+%% File: metrix.dtx Copyright (C) 2013-2016 Tobias Weh
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -44,8 +44,8 @@
}
\def\metrixFileName{metrix}
\def\metrixFileDescription{Typset prosody/metric symbols.}
-\def\metrixFileDate{2016/03/21}
-\def\metrixFileVersion{1.3}
+\def\metrixFileDate{2019/05/05}
+\def\metrixFileVersion{1.4}
\ProvidesExplPackage
{\metrixFileName}{\metrixFileDate}{\metrixFileVersion}{\metrixFileDescription}
\RequirePackage{xparse}
@@ -54,6 +54,26 @@
\ExplSyntaxOff
\usetikzlibrary{calc}
\ExplSyntaxOn
+\tl_const:Nn \c__metrix_acute_accent_tl { ´ }
+\tl_const:Nn \c__metrix_grave_accent_tl { ` }
+\tl_new:N \l__metrix_words_tl
+\seq_new:N \l__metrix_syllables_seq
+\seq_new:N \l__metrix_symbols_seq
+\seq_new:N \l__metrix_short_breaks_seq
+\seq_new:N \l__metrix_foot_breaks_seq
+\prop_new:N \l__metrix_highlights_prop
+\seq_new:N \l__metrix_highlight_seq
+\seq_new:N \l__metrix_highlight_pos_seq
+\quark_new:N \q__metrix_space_marker
+\int_new:N \l__metrix_process_int
+\bool_new:N \l__metrix_short_syllable_bool
+\box_new:N \l__metrix_syllable_box
+\tl_new:N \g__metrix_variable_shortsyllablelimit_tl
+\tl_set:Nn \g__metrix_variable_shortsyllablelimit_tl { 0.8em }
+\tl_new:N \l__metrix_current_symbol_tl
+\tl_new:N \l__metrix_current_symbol_head_tl
+\bool_new:N \l__metrix_has_acute_accent_bool
+\bool_new:N \l__metrix_has_grave_accent_bool
\tl_new:N \g__metrix_variable_symbollinewidth_tl
\tl_set:Nn \g__metrix_variable_symbollinewidth_tl { 0.04em }
\tl_new:N \g__metrix_variable_bigsymbollinewidth_tl
@@ -97,11 +117,11 @@
\tl_new:N \g__metrix_variable_bowlooseness_tl
\tl_set:Nn \g__metrix_variable_bowlooseness_tl { 0.75 }
\tl_new:N \g__metrix_variable_symbolcolor_tl
-\tl_set:Nn \g__metrix_variable_symbolcolor_tl { black }
+\tl_set:Nn \g__metrix_variable_symbolcolor_tl { . }
\tl_new:N \g__metrix_variable_accentcolor_tl
-\tl_set:Nn \g__metrix_variable_accentcolor_tl { black }
+\tl_set:Nn \g__metrix_variable_accentcolor_tl { . }
\tl_new:N \g__metrix_variable_bowcolor_tl
-\tl_set:Nn \g__metrix_variable_bowcolor_tl { black }
+\tl_set:Nn \g__metrix_variable_bowcolor_tl { . }
\tl_new:N \g__metrix_variable_highlightcolor_tl
\tl_set:Nn \g__metrix_variable_highlightcolor_tl { red }
\tl_new:N \g__metrix_variable_fillcolor_tl
@@ -112,24 +132,15 @@
\tl_set:Nn \g__metrix_variable_breakgap_tl { 0.6em }
\tl_new:N \g__metrix_variable_emptywidth_tl
\tl_set:Nn \g__metrix_variable_emptywidth_tl { 1em }
-\tl_new:N \l__metrix_words_tl
-\seq_new:N \l__metrix_syllables_seq
-\seq_new:N \l__metrix_symbols_seq
-\seq_new:N \l__metrix_short_breaks_seq
-\seq_new:N \l__metrix_foot_breaks_seq
-\prop_new:N \l__metrix_highlights_prop
-\seq_new:N \l__metrix_highlight_seq
-\seq_new:N \l__metrix_highlight_pos_seq
-\quark_new:N \q__metrix_space_marker
-\int_new:N \l__metrix_process_int
-\bool_new:N \l__metrix_short_syllable_bool
-\box_new:N \l__metrix_syllable_box
-\tl_new:N \g__metrix_variable_shortsyllablelimit_tl
-\tl_set:Nn \g__metrix_variable_shortsyllablelimit_tl { 0.8em }
+\tl_new:N \g__metrix_variable_acute_tl
+\tl_set:Nn \g__metrix_variable_acute_tl { ´ }
+\tl_new:N \g__metrix_variable_grave_tl
+\tl_set:Nn \g__metrix_variable_grave_tl { \`{} }
\cs_generate_variant:Nn \prop_item:Nn { No , Nf , NV , Nx }
\cs_generate_variant:Nn \prop_put:Nnn { Nnx , Nxx , Nff , Noo }
\cs_generate_variant:Nn \seq_item:Nn { Nf , NV , Nx }
\cs_generate_variant:Nn \seq_set_split:Nnn { Nnf , NnV , Nnx }
+\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
\cs_new_protected:Npn \__metrix_metrics:nn #1 #2
{
\tl_set:Nx \l__metrix_words_tl { \tl_trim_spaces:n { #2 } }
@@ -331,16 +342,32 @@
}
\cs_new_protected:Npn \__metrix_print_symbol:
{
+ \tl_set:Nx \l__metrix_current_symbol_tl
+ {
+ \seq_item:Nn \l__metrix_symbols_seq { \l__metrix_process_int }
+ }
+ \tl_set:Nx \l__metrix_current_symbol_head_tl
+ {
+ \tl_head:N \l__metrix_current_symbol_tl
+ }
+ \tl_case:NnT \l__metrix_current_symbol_head_tl
+ {
+ \c__metrix_acute_accent_tl { \bool_set_true:N \l__metrix_has_acute_accent_bool }
+ \c__metrix_grave_accent_tl { \bool_set_true:N \l__metrix_has_grave_accent_bool }
+ }
+ {
+ \tl_remove_once:NV \l__metrix_current_symbol_tl \l__metrix_current_symbol_head_tl
+ }
\cs_if_exist_use:cF
{
- __metrix_\seq_item:Nn \l__metrix_symbols_seq
- { \l__metrix_process_int }_mark:
+ __metrix_
+ \tl_use:N \l__metrix_current_symbol_tl
+ _mark:
}
{
\__metrix_error_msg:n
{
- Unknown~symbol~abbreviation~'\seq_item:Nn
- \l__metrix_symbols_seq { \l__metrix_process_int }'.
+ Unknown~symbol~abbreviation~'\tl_use:N \l__metrix_current_symbol_tl'.
}
}
}
@@ -374,7 +401,6 @@
{
\hspace{\usemetrixvar{breakgap}}
}
-
\cs_new:Npn \__metrix_break_node:n #1
{
\group_begin:
@@ -387,7 +413,6 @@
;
\group_end:
}
-
\cs_new_protected:Npn \__metrix_e_gap:
{
\hspace*{\usemetrixvar{emptywidth}}
@@ -459,6 +484,14 @@
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) arc [start~angle=0, end~angle=180, radius=-0.225];
+ \bool_if:NT \l__metrix_has_acute_accent_bool
+ {
+ \node at (0.225,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l__metrix_has_grave_accent_bool
+ {
+ \node at (0.225,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
\cs_new:Npn \__metrix___mark:
@@ -467,11 +500,27 @@
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) -- ++(0.4,0);
+ \bool_if:NT \l__metrix_has_acute_accent_bool
+ {
+ \node at (0.2,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l__metrix_has_grave_accent_bool
+ {
+ \node at (0.2,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
{
\begin{tikzpicture}[every~metrix~symbol]
\draw (0,0) -- ++(0.75,0);
+ \bool_if:NT \l__metrix_has_acute_accent_bool
+ {
+ \node at (0.375,0) {\usemetrixvar{acute}};
+ }
+ \bool_if:NT \l__metrix_has_grave_accent_bool
+ {
+ \node at (0.375,0) {\usemetrixvar{grave}};
+ }
\end{tikzpicture}
}
}
@@ -526,6 +575,24 @@
\draw (-0.2,-0.2) -- (0.2,0.2);
\end{tikzpicture}
}
+\cs_new:Npn \__metrix_v_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) -- (0.225,-0.225) -- (0.45,0);
+ \end{tikzpicture}
+ }
+\cs_new:Npn \__metrix_A_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) -- (0.225,0.225) -- (0.45,0);
+ \end{tikzpicture}
+ }
+\cs_new:Npn \__metrix_o_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (0,0) circle [radius=0.2];
+ \end{tikzpicture}
+ }
\cs_new:Npn \__metrix_oo_mark:
{
\begin{tikzpicture}[every~metrix~symbol]
@@ -550,6 +617,18 @@
circle [radius=0.7\pgflinewidth];
\end{tikzpicture}
}
+\cs_new:Npn \__metrix_p_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (-0.2,-0.2) -- (0.2,0.2);
+ \end{tikzpicture}
+ }
+\cs_new:Npn \__metrix_s_mark:
+ {
+ \begin{tikzpicture}[every~metrix~symbol]
+ \draw (-0.2,0.2) -- (0.2,-0.2);
+ \end{tikzpicture}
+ }
\cs_new:Npn \__metrix_l_mark:
{
\begin{tikzpicture}[every~metrix~symbol]