texlive[51012] Master/texmf-dist: metrix (5may19)

commits+karl at tug.org commits+karl at tug.org
Sun May 5 23:15:49 CEST 2019


Revision: 51012
          http://tug.org/svn/texlive?view=revision&revision=51012
Author:   karl
Date:     2019-05-05 23:15:48 +0200 (Sun, 05 May 2019)
Log Message:
-----------
metrix (5may19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/metrix/metrix.pdf
    trunk/Master/texmf-dist/source/latex/metrix/metrix.dtx
    trunk/Master/texmf-dist/source/latex/metrix/metrix.ins
    trunk/Master/texmf-dist/tex/latex/metrix/metrix.sty

Modified: trunk/Master/texmf-dist/doc/latex/metrix/metrix.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/metrix/metrix.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/metrix/metrix.dtx	2019-05-05 21:15:37 UTC (rev 51011)
+++ trunk/Master/texmf-dist/source/latex/metrix/metrix.dtx	2019-05-05 21:15:48 UTC (rev 51012)
@@ -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 +\xB4+ or grave +`+. At the moment this only works with breve (+\xB4u+ or +`u+)
+% and longum (+\xB4_+ 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+ & +\xB4+ & 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 { \xB4 }
+%    \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,68 +1346,20 @@
 \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{variable}[internal]{\g_@@_variable_acute_tl}
+%    This variable stores acute symbol.
 %    \begin{macrocode}
-\tl_new:N \l_@@_words_tl
+\tl_new:N \g_@@_variable_acute_tl
+\tl_set:Nn \g_@@_variable_acute_tl { \xB4 }
 %    \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_grave_tl}
+%    This variable stores grave symbol.
 %    \begin{macrocode}
-\seq_new:N \l_@@_syllables_seq
+\tl_new:N \g_@@_variable_grave_tl
+\tl_set:Nn \g_@@_variable_grave_tl { \`{} }
 %    \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}
 %
 % \subsection{Variants}
 % Later we'll need the following variant.
@@ -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

Modified: trunk/Master/texmf-dist/source/latex/metrix/metrix.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/metrix/metrix.ins	2019-05-05 21:15:37 UTC (rev 51011)
+++ trunk/Master/texmf-dist/source/latex/metrix/metrix.ins	2019-05-05 21:15:48 UTC (rev 51012)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/metrix/metrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/metrix/metrix.sty	2019-05-05 21:15:37 UTC (rev 51011)
+++ trunk/Master/texmf-dist/tex/latex/metrix/metrix.sty	2019-05-05 21:15:48 UTC (rev 51012)
@@ -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 { \xB4 }
+\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 { \xB4 }
+\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]



More information about the tex-live-commits mailing list