summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/philex/README11
-rw-r--r--Master/texmf-dist/doc/latex/philex/README.rtf15
-rw-r--r--Master/texmf-dist/doc/latex/philex/philexmanual.pdfbin207904 -> 233073 bytes
-rw-r--r--Master/texmf-dist/doc/latex/philex/philexmanual.tex205
-rw-r--r--Master/texmf-dist/tex/latex/philex/philex.sty557
5 files changed, 656 insertions, 132 deletions
diff --git a/Master/texmf-dist/doc/latex/philex/README b/Master/texmf-dist/doc/latex/philex/README
index e7fdbe24dfe..5c01f80cbc2 100644
--- a/Master/texmf-dist/doc/latex/philex/README
+++ b/Master/texmf-dist/doc/latex/philex/README
@@ -1,11 +1,8 @@
-Philex provides extended functions for formatting, dynamically
-repeating and cross-referencing numbered and named sentences,
-with hyperref support. It is an addition to Wolfgang
-Sternefeld's linguex package (adapted to version 4.3).
+Philex provides extended functions for formatting, dynamically repeating and cross-referencing numbered and named sentences, with hyperref support. It is an addition to Wolfgang Sternefeld's linguex package (adapted to version 4.3).
-Version: 1.2
+Version: 1.3
Licence type: lppl
Author: Peter Pagin (with a contribution by Robin Fairbairns).
-email: peter.pagin@philosophy.su.se
-Date: 2014.03.28
+email: peter.pagin@philosophy.su.se
+Date: 2014.08.20 \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/philex/README.rtf b/Master/texmf-dist/doc/latex/philex/README.rtf
deleted file mode 100644
index 38717513007..00000000000
--- a/Master/texmf-dist/doc/latex/philex/README.rtf
+++ /dev/null
@@ -1,15 +0,0 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
-{\fonttbl\f0\fmodern\fcharset0 Courier;}
-{\colortbl;\red255\green255\blue255;}
-\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
-\deftab720
-\pard\pardeftab720
-
-\f0\fs26 \cf0 Philex provides extended functions for formatting, dynamically repeating and cross-referencing numbered and named sentences, with hyperref support. It is an addition to Wolfgang Sternefeld's linguex package (adapted to version 4.3). \
-\
-Version: 1.2\
-Licence type: lppl\
-\
-Author: Peter Pagin (with a contribution by Robin Fairbairns).\
-email: peter.pagin@philosophy.su.se\
-Date: 2014.03.28} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/philex/philexmanual.pdf b/Master/texmf-dist/doc/latex/philex/philexmanual.pdf
index 3591f473f39..4c50ff9f250 100644
--- a/Master/texmf-dist/doc/latex/philex/philexmanual.pdf
+++ b/Master/texmf-dist/doc/latex/philex/philexmanual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/philex/philexmanual.tex b/Master/texmf-dist/doc/latex/philex/philexmanual.tex
index 103d5380428..70545a7a6bb 100644
--- a/Master/texmf-dist/doc/latex/philex/philexmanual.tex
+++ b/Master/texmf-dist/doc/latex/philex/philexmanual.tex
@@ -1,11 +1,8 @@
-\documentclass[10pt]{article}
+\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
-
-\usepackage{eqparbox}
\usepackage[oldpunct,hyper]{philex}
-
+\usepackage{eqparbox}
\usepackage[left=6cm,right=4cm,top=4cm,bottom=5cm]{geometry}
-\usepackage[colorlinks,linkcolor=black,bookmarksnumbered]{hyperref}
\newcommand{\qut}[1]{`#1'}
\usepackage[english]{babel}
@@ -16,8 +13,6 @@
\newcounter{hour}
\newcounter{minute}
-
-
\newcommand{\emp}{\emph}
\newcommand{\note}{\footnote}
\setcounter{hour}{\time/60}
@@ -31,37 +26,38 @@
\item Stockholm University
\item peter.pagin@philosophy.su.se
\end{flushright}}
-
+\usepackage[colorlinks,linkcolor=black,bookmarksnumbered]{hyperref}
\begin{document}
-\title{The \tt philex \rm Package \\ version 1.2}
+\title{The \tt philex \rm Package \\ version 1.3}
\author{\aut}
\date{\today, \now}
\maketitle
\reversemarginpar
\setlength{\marginparwidth}{3cm}
-\subsection*{Changes since version 1.1}
--- Grammaticality judgments added.\\
--- Bugfix: Horizontal spacing with \verb+\rn+. Fixed.\footnote
- {This bug was fixed in version 1.01, but stupidly reintroduced in version 1.1 because of bad file management.}
-
-
-
+\subsection*{Changes since version 1.2}
+-- Added automatic handling of long environment \verb+names+.\\
+-- Added draft mode, with margin printing of \verb+labels+.\\
+-- Bugfix: Broken cross-references to \verb+\lbb+ environments with optional names, now fixed.
\section*{Manual}
The \verb+philex+ package is intended for use in subjects like philosophy and linguistics, where there is a need both of many example sentences and of named principles, and of cross-references to them in the text. Sometimes one wants cross-reference to environment numbers (or prefix plus number), sometimes to a non-numbered named environment, and sometimes to the content of the environment, for repeating the content in running text or in another environment. The package is a small addition to Wolfgang Sternefeld's \verb+linguex+ package and requires \verb+linguex+. As of version 0.2 it also requires \verb+calc+. \verb+philex+ will load \verb+linguex+ if it is installed. The purpose of \verb+philex+ is to add functions for more flexible cross-referencing, for repeating and embedding named or numbered environments, \verb+hyperref+ support and a some further formatting options.
As of version 0.5 \verb+philex+ writes cross-ref information to the .aux file and reads that information at the beginning of the subsequent run of typesetting. This allows forward cross-referencing to environments that are named or numbered+named, such as \rf{clauses} on p. \pageref{clauses},
-in analogy to the label-reference system of LaTeX itself. As of version 0.9 hyperlinks produced by \verb+hyperref+ are created also for named environments with the \verb+<hyper>+ package option.
+in analogy to the \verb+\label+-reference system of LaTeX itself. As of version 0.9 hyperlinks produced by \verb+hyperref+ are created also for named environments with the \verb+<hyper>+ package option.
\section{Calling the package}
-\verb+philex+ is \marginpar{\tt philex} called by adding \verb+\usepackage[<package options>]{philex}+ in the preamble. This will also automatically load the \verb+linguex+ package, as well as \verb+xspace+ and \verb+cgloww4e+, which are used by \verb+linguex+. If \verb+linguex+ is called separately, it should be called \emp{before} \verb+philex+, since \verb+philex+ (marginally) redefines some commands in \verb+linguex+.
+\verb+philex+ is \marginpar{\tt philex} called by adding \verb+\usepackage[<package options>]{philex}+ in the preamble. This will also automatically load the \verb+linguex+ package, as well as \verb+xspace+ and \verb+cgloss4e+, which are used by \verb+linguex+. If \verb+linguex+ is called separately, it should be called \emp{before} \verb+philex+, since \verb+philex+ (marginally) redefines some commands in \verb+linguex+. \verb+philex+ also calls the \verb+calc+, \verb+ifthen+ and \verb+suffix+ packages.
\section{Package options}
With \marginpar{\tt <hyper>} the \verb+<hyper>+ option hyperlinks will be created by cross-references to named environments (such as \verb+\lbp+). This requires that the \verb+hyperref+ package is called (should be called last). If \verb+hyperref+ is called without the \verb+<hyper>+ option, hyperlinks will anyway be created from the usual \verb+philex+ cross-references that make use of the basic label- and cross-reference function in LaTeX.
-With the \verb+<oldpunct>+ package option \marginpar{\tt <oldpunct>} the old punctuation commands (see below) will still work. This is for the purpose of using more recent versions of \verb+philex+ with older files, without needing search-and-replace.
+With the \verb+<draft>+ option, labels \marginpar{\tt <draft>} will be printed in boldface in the margins, top-level \verb+labels+ in the left-hand margin, and sub-level \verb+labels+ in the right-hand margin. This is intended as a help to writing cross-reference intensive texts. \verb+Labels+ are often hard to remember, and the environment to be cross-referenced is usually easier to find in the pdf output than in the source file. Finding the \verb+label+ printed there is then convenient. The vertical alignment of the margin-printed \verb+labels+ with the \verb+philex+ environment itself is not exact. Occasionally, the \verb+label+ does not follow the environment across a page break (I have managed to fix this only partially), but usually the alignment is quite good.
+
+The horizontal position of \verb+labels+ printed in the left margin can be adjusted by means of \verb+\renewcommand{\philmarginfactor}{}+. Default is \(1.2\). Higher values push the \verb+labels+ closer to the page edge.
+
+With the \verb+<oldpunct>+ package option \marginpar{\tt <oldpunct>} the old punctuation commands (see below) will still work. This is for the purpose of using more recent versions of \verb+philex+ with older files, without needing search-and-replace.
\section{Top-level environments}
The basic environment command of \verb+philex+ is \marginpar{\tt \(\backslash\)lb} \verb+\lb{}{}+. It takes two obligatory arguments. The first argument is the label of the environment, and the second is the content of the environment itself. \verb+\lb+ uses the \verb+\ex.+ formatting of \verb+linguex+, and thereby the \verb+ExNo+ counter. Type
@@ -77,21 +73,27 @@ in case it is the first \verb+\lb+-environment in your document.
In \verb+linguex+ you leave a blank line after sentence to close the environment. The blank line gives a \verb+\par+-command to TeX. In \verb+philex+ the \verb+\par+-command is built into the top-level environments. So you leave a blank line after an \verb+\lb{}{}+-environment only if you want to start a new paragraph. The reason for this change is that only this way will the \verb+philex+ package work together with the \verb+extract+ package by Hendri Adriaens, which can be used for extracting material, e.g. for generating a handout, from documents making use of \verb+philex+. \verb+linguex+ comes together with Sternefeld's \verb+linguho+ package, which has the function of generating a handout from documents using \verb+linguex+. \verb+linguho+ does not work with \verb+philex+, since the \verb+linguex+ environments are not explicit in the document. The corresponding function, only more flexible, can be served with the \verb+extract+ package.
In many cases you \marginpar{Update with \tt\(\backslash\)lbu}will want to produce a variant of the original sentence, which will have the same name or number as the original, but with an added suffix, like a letter or a prime symbol. This is achieved with the \verb+\lbu{}{}{}{}+-command. It takes four obligatory arguments. The first is the label of the new sentence, the second is the label of the environment you are giving a variant of, the third is the suffix you want to add, and the fourth is the new content itself.
+
\begin{verbatim}
\lbu{nicy}{nice}{\('\)}{But that yesterday was even nicer.}
-\end{verbatim}
-produces \lbu{nicy}{nice}{\('\)}{But yesterday was even nicer.}
+\end{verbatim}%
+%
+produces
-You may also want to \marginpar{Named environments with \tt\(\backslash\)lbp} have named principles, such as in \rf{life} below (exemplifying forward cross-reference) \bron
-\lbp{life}{W}{Life is wonderful!}
-These are produced with the \verb+\lbp{}{}{}+-command which makes use of the optional argument to \verb+\ex.[]+ in \verb+linguex+. If you later change the name of the principle, or the formulation, the changes are reflected in the cross-references and repetitions after the next typesetting, as long as you do not change the labels.
+\lbu{nicy}{nice}{\('\)}{But yesterday was even nicer.}
+
+You may also want to \marginpar{\texttt{Named} environments with \tt\(\backslash\)lbp} have \verb+named+ environments, such as in \rf{life} below (exemplifying forward cross-reference) \bron
+
+\lbp{life}{W}{Life is wonderful!}%
+%
+These are produced with the \verb+\lbp{}{}{}+-command which makes use of the optional argument to \verb+\ex.[]+ in \verb+linguex+. If you later change the \verb+name+ of the principle, or the formulation, the changes are reflected in the cross-references and repetitions after the next typesetting, as long as you do not change the labels.
And updates with \verb+\lbu+, like
\lbu{newlife}{life}{\textsuperscript{+}}{\q Life is terrific!}
-work as before.
+work as before. Concerning long \verb+names+ and horizontal alignment, see Section \ref{length}.
-In case you \marginpar{Prefixed numbering with \tt\(\backslash\)lbpx} wish a list of independently numbered principles with a shared name stem, there are four independent series. Use one of the \verb+\lbpx+-commands, where \verb+x+ is one of \verb+a,b,c,d+. You can format the listing with \verb+\bpxformat{}{}{}+, where again \verb+x+ has the corresponding value. The first argument sets the numbering style (see below), the second the prefix and the third argument the suffix (this is a change since version 0.6, where there was no suffix argument, and general bracket commands were used).
+In case you \marginpar{Prefixed numbering with \tt\(\backslash\)lbpx} wish a list of independently numbered principles with a shared \verb+name+ stem, there are four independent series. Use one of the \verb+\lbpx+-commands, where \verb+x+ is one of \verb+a,b,c,d+. You can format the listing with \verb+\bpxformat{}{}{}+, where again \verb+x+ has the corresponding value. The first argument sets the numbering style (see below), the second the prefix and the third argument the suffix.
Then the \verb+\lbpx+-command picks it up: \bpaformat{1}{(T}{)}
\begin{verbatim}
@@ -111,7 +113,13 @@ These enumerations are independent of \verb+ExNO+ and of each other, and the cou
There \marginpar{Simple counter} is also an additional counter, \verb+bna+, with associated commands: the \verb+\bns+ command resets the counter; the \verb+\bn+ command steps the counter, prints its current value, and produces a \verb+\quad+ space. Useful for listing a number of comments.
-All the top-level \marginpar{Centering} environments take an optional argument \verb+[c]+ for centering the text. \verb+\lb[c]{compo}{\[\mu(\sigma(t_{1},\ldots, t_{n}))=+ \verb+r_{\sigma}(\mu(t_{1}), \ldots, \mu(t_{n}))\]}+ produces
+All the top-level \marginpar{Centering} environments take an optional argument \verb+[c]+ for centering the text.
+
+\begin{verbatim}
+\lb[c]{compo}{\[\mu(\sigma(t_{1},\ldots, t_{n}))
+= r_{\sigma}(\mu(t_{1}),\ldots, \mu(t_{n}))\]}
+\end{verbatim}
+produces
\lb[c]{compo}{\[\mu(\sigma(t_{1},\ldots, t_{n}))=r_{\sigma}(\mu(t_{1}), \ldots, \mu(t_{n}))\]}
In this example a displaymath environment (\verb+\[..\]+ or \verb+$$..$$+) has been used. This produces extra vertical space above and below, suitable for equations. With centering and in-line math environment (\verb+\(..\)+ or \verb+$..$+), no extra vertical space is produced.
@@ -119,7 +127,7 @@ All the top-level \marginpar{Centering} environments take an optional argument \
The default for \verb+philex+ is centering in the entire column, i.e. along \verb+\columnwidth+. As an alternative, you can make \verb+philex+ center the text within the \verb+philex+ text area itself. This puts the text slightly more to the right. To achieve this, give the command \verb+\narrowcenter+ before the relevant environment. To later revert to the default option, give the command \verb+\widecenter+.
-Horizontal alignment \marginpar{Alignment} can be easily achieved by means of Scott Pakin's elegant \verb+eqparbox+ package. The code
+Horizontal alignment \marginpar{Alignment} within a \verb+philex+ environment can be easily achieved by means of Scott Pakin's elegant \verb+eqparbox+ package. The code
\begin{verbatim}
\lb{alignthis}{\eqmakebox[hit][l]{\(2+3\)} \quad = \quad \(5\) \\
@@ -130,7 +138,7 @@ Horizontal alignment \marginpar{Alignment} can be easily achieved by means of Sc
\lb{alignthis}{\eqmakebox[hit][l]{\(2+3\)} \quad = \quad \(5\) \\
\eqmakebox[hit][l]{\(2+3+4\)} \quad = \quad \(9\)}
-\verb+linguex+ provides the \verb+\exi.+ \marginpar{Labelled brackets} command for generating labelled brackets that display linguistic structure. This command can be used in \verb+philex+ but can not be integrated into proper \verb+philex+ commands without loss of \verb+philex+ features, such as hyperlinks. However, it is easy to add labels manually, especially by means of the \verb+\textsubscript+ command provided by the \verb+fixltx2e+ package, by Frank Mittelbach, David Carlisle, Chris Rowley, and Walter Schmidt. The result will be the same. The following example is from the \verb+linguex+ manual but implemented with \verb+\textsubscript+:
+\verb+linguex+ provides the \verb+\exi.+ \marginpar{Labelled brackets} command for generating labelled brackets that display syntactic structure. This command can be used in \verb+philex+ but can not be integrated into proper \verb+philex+ commands without loss of \verb+philex+ features, such as hyperlinks. However, it is easy to add labels manually, especially by means of the \verb+\textsubscript+ command provided by the \verb+fixltx2e+ package, by Frank Mittelbach, David Carlisle, Chris Rowley, and Walter Schmidt. The result will be the same. The following example is from the \verb+linguex+ manual but implemented with \verb+\textsubscript+:
\begin{verbatim}
\lb{braclabel}{[[\textsubscript{NP} Fritz ][ snores ]]%
@@ -157,14 +165,15 @@ Grammaticality judgments, \marginpar{Grammaticality judgments} and other judgmen
\begin{verbatim}
\lb{gram}{
\lba{grama}{\oddity{*}He lives in N.Y since two years.}
-\lbb{gramb}{\oddity{**}Whom does he live in N.Y. since two years?}}
+\lbb{gramb}{\oddity{??}Whom does he live in N.Y. since two years?}}
\end{verbatim}%
%
delivers
+\newpage
\lb{gram}{
\lba{grama}{\oddity{*}He lives in N.Y since two years.}
-\lbb{gramb}{\oddity{**}Whom does he live in N.Y. since two years?}}
+\lbb{gramb}{\oddity{??}Whom does he live in N.Y. since two years?}}
By means of \verb+philex+ commands, the brackets can be \marginpar{Top-level brackets} removed or replaced for all the top-level environments except \verb+\lb+ itself. However, as of version 4.0 of \verb+linguex+, the brackets for the \verb+\lb+ command can be customized.
@@ -178,11 +187,11 @@ By means of \verb+philex+ commands, the brackets can be \marginpar{Top-level bra
You can change the \verb+\lb+ brackets to square brackets in main text and to curly brackets in footnotes.
-For the other cases, you might e.g. want an \verb+\lbp+ environment without label. To turn the brackets off, give the command \verb+\broff+ before the environment. To turn them back on later, give the command \verb+\bron+.
+For the other cases, you might e.g. want an \verb+\lbp+ environment without \verb+name+. To turn the brackets off, give the command \verb+\broff+ before the environment. To turn them back on later, give the command \verb+\bron+.
-The non-\verb+\lb+ top-level brackets can be reset by the two-argument command \verb+\philbrackets+. For instance \verb+\philbrackets{[}{]}+ will make the following environment labels have square brackets.
+The non-\verb+\lb+ top-level brackets can be reset by the two-argument command \verb+\philbrackets+. For instance \verb+\philbrackets{[}{]}+ will make the following environment \verb+names+ have square brackets.
-There is sometimes a reason \marginpar{Punctuation} to embed the content of an environment in running text or in another environment, so that changes in the original environment are automatically reflected (see below on cross-references). You might then not want the original full stop of an environment sentence to come along. For this purpose there is a punctuation command \verb+\philpunct+ at the end of top-level environments. By default, \verb+\philpunct+ is set to be empty. You can redefine it to provide a full stop by means of \verb+\philfullstop+ before the environment. The command \verb+\philcomma+ redefines it to produce a comma, \verb+\philexclaim+ produces an exclamation mark, \verb+\philquestion+ a question mark, and \verb+\philempty+ turns it back to empty. By means of \verb+\renewcommand{\philpunct}{}+ you can set it as you like.
+There is sometimes a reason \marginpar{Punctuation} to embed the content of an environment in running text or in another environment, so that changes in the original environment are automatically reflected (see below on cross-references). You might then not want the original full stop of an environment sentence to come along. For this purpose, there is a punctuation command \verb+\philpunct+ at the end of top-level environments. By default, \verb+\philpunct+ is set to be empty. You can redefine it to provide a full stop by means of \verb+\philfullstop+ before the environment. The command \verb+\philcomma+ redefines it to produce a comma, \verb+\philexclaim+ produces an exclamation mark, \verb+\philquestion+ a question mark, and \verb+\philempty+ turns it back to empty. By means of \verb+\renewcommand{\philpunct}{}+ you can set it as you like.
In earlier versions of \verb+philex+ the corresponding commands were \verb+\p+, \verb+\s+ (for full stop), \verb+\km+ (for comma) and \verb+\q+ (empty). Mostly because I have learned that it is bad design to use one-letter commands, these are now replaced by the new commands. In case of typesetting a file with the old commands, choose the package option \verb+<oldpunct>+.
@@ -193,7 +202,7 @@ In earlier versions of \verb+philex+ the corresponding commands were \verb+\p+,
which shows that numbering is lowercase roman.}
\section{Sub-environments}
-\verb+linguex+ and \marginpar{\tt \(\backslash\)lba, \(\backslash\)lbb, and \(\backslash\)lbz} hence also \verb+philex+ provides sub-environments (sublists) . To illustrate, the code
+\verb+linguex+ and \marginpar{\tt \(\backslash\)lba, \(\backslash\)lbb, and \(\backslash\)lbz} hence also \verb+philex+ provides sub-environments (sublists). To illustrate, the code
\begin{verbatim}
\lbp{clauses}{PP}{Some main words, followed by
@@ -219,7 +228,7 @@ As exemplified, sub-environments can be nested up to three levels. The first two
The \verb+\lba+ command restarts the counter of the relevant level. The \verb+\lbb+ command steps the counter, while the \verb+\lbz+ command steps the counter and closes the level, returning to the next higher level. It is not necessary to use \verb+\lbz+ for the last item at the first sub-level (i.e. at the end of a top-level environment). In case only a single sub-environment is used, the command \verb+\z.+ of \verb+linguex+ returns to the higher level.
-The labels of the first two sub-levels can be \marginpar{Label formatting} customized in two ways, with respect to numbering style and with respect to brackets. The command \verb+\subformat+ takes three arguments.
+The \verb+names+ of the first two sub-levels can be \marginpar{\tt name formatting} customized in two ways, with respect to numbering style and with respect to brackets. The command \verb+\subformat+ takes three arguments.
The first argument determines the numbering style. The value \qut{R} displays the counter in upper-case roman numerals, \qut{r} in lower case roman, \qut{1} in arabic numerals, \qut{A} in upper-case alphabetic listing, and \qut{a} in lower-case alphabetic listing. Default for the first sub-level is lower-case alphabetic.
@@ -255,7 +264,7 @@ and a concluding comment.}
If the sub-formatting commands are given within the top-level environment, they control only the labels within that environment. If they are given outside, the commands are valid until superseded by later commands.
-The sub-level commands \marginpar{Names for \\ sub-environments} have an optional argument (inherited from \verb+linguex+) that can be used for naming sub-environments. For instance, the source
+The sub-level commands \marginpar{\texttt{Names} for \\ sub-environments} have an optional argument (inherited from \verb+linguex+) that can be used for \verb+naming+ sub-environments. For instance, the source
\begin{verbatim}
\lb{crane}{The saying
@@ -270,15 +279,29 @@ is often confirmed.}
\lba[S]{squeak}{The squeaky wheel gets the grease}
\z.
is often confirmed.}
- Round brackets are put in by default. This can be reset by the \verb+\philbrackets+ command.
+ Round brackets are put in by default. This can be reset locally by means of the \verb+\philbrackets+ command. For instance:
+
+\begin{verbatim}
+\lbu{craneup}{crane}{\('\)}{\philbrackets{[}{]}The saying
+\lba[S]{craneupa}{The squeaky wheel gets the grease}
+\z.
+is often confirmed.}
+\end{verbatim}
+
+\lbu{craneup}{crane}{\('\)}{\philbrackets{[}{]}The saying
+\lba[S]{craneupa}{The squeaky wheel gets the grease}
+\z.
+is often confirmed.}%
+%
+
Punctuation for sub-environments \marginpar{Punctuation for \\ sub-environments} is controlled by means of the commands \verb+\philsubpunct+, \verb+\philsubstop+, \verb+\philsubcomma+, \verb+\philsubexclaim+, \verb+\philsubquestion+, and \verb+\philsubempty+, analogous to the corresponding top-level commands. The corresponding older commands where \verb+\pt+, \verb+\stp+ (full stop), \verb+\kmt+ (comma), and \verb+\qt+ (empty). As before, they are made active by means of the \verb+<oldpunct>+ package option.
\section{Cross-references}
-The first argument of all environment commands are used by \verb+philex+ to give a \verb+\label+ command. If the environment is numbered by a counter, the label makes the environment accessible for cross-reference by the standard cross-reference mechanism of LaTeX. For instance, \verb+\ref{nice}+ produces the cross-reference `\ref{nice}' to the first \verb+\lb+ environment on page \pageref{nice}.\note
+The first (mandatory) argument of all environment commands are used by \verb+philex+ to give a \verb+\label+ command. If the environment is numbered by a counter, the label makes the environment accessible for cross-reference by the standard cross-reference mechanism of LaTeX. For instance, \verb+\ref{nice}+ produces the cross-reference `\ref{nice}' to the first \verb+\lb+ environment on page \pageref{nice}.\note
{The reason for the fuss about brackets is that in order to modify the material within the brackets, e.g. with {\tt \(\backslash\)lbu}, the brackets cannot be hard-coded into the cross-reference command, but must be put in afterwords.}
-However, \verb+philex+ provides \marginpar{\tt \(\backslash\)rf, \(\backslash\)rn} its own cross-reference command, \verb+\rf+, which has a wider function. It provides ordinary cross-references in accordance with the numbering style of the antecedent, and keeps track of the embedding. It also provides cross-references to \emp{named} environments, where there is no counter value to pick up. The difference between \verb+\rf+ and \verb+\rn+ is that the latter leaves out the brackets. So we will have the productions
+However, \verb+philex+ provides \marginpar{\tt \(\backslash\)rf, \(\backslash\)rn} its own cross-reference command, \verb+\rf+, which has a wider function. It provides ordinary cross-references in accordance with the numbering style of the antecedent, and keeps track of the embedding. It also provides cross-references to \verb+named+ environments, where there is no counter value to pick up. The difference between \verb+\rf+ and \verb+\rn+ is that the latter leaves out the brackets. So we will have the productions
\begin{trivlist}
\item \noindent \verb+\rf{nice}+ \(\longrightarrow\) \rf{nice} \hfill (target on page \pageref{nice})
\item \noindent \verb+\rf{kne}+ \(\longrightarrow\) \rf{kne} \hfill (target on page \pageref{kne})
@@ -286,10 +309,12 @@ However, \verb+philex+ provides \marginpar{\tt \(\backslash\)rf, \(\backslash\)r
\item \verb+\rn{clauseup}+ \(\longrightarrow\) \rn{clausesup} \hfill (target on page \pageref{clausesup})
\item \verb+\rf{lastnew}+ \(\longrightarrow\) \rf{lastnew}\hfill (target on page \pageref{lastnew})
\item \verb+\rf{lastnewb}+ \(\longrightarrow\) \rf{lastnewb} \hfill (target on page \pageref{lastnewb})
+\item \verb+\rn{lastnewb}+ \(\longrightarrow\) \rn{craneupa} \hfill (target on page \pageref{craneupa})
+\item \verb+\rf{lastnewb}+ \(\longrightarrow\) \rf{craneupa} \hfill (target on page \pageref{craneupa})
\end{trivlist}
- Both \verb+\rf+ and \verb+\rn+ have an optional argument which produces an optional suffix. \verb+\rf[*]{nice}+ produces \rf[*]{nice}.
+ Both \verb+\rf+ and \verb+\rn+ have an optional argument which produces an optional suffix. \verb+\rf[*]{nice}+ produces \rf[*]{nice}. The last example is not perfect, as the round brackets are produced instead of the square brackets used at the target. As things stand at the moment, this has to be corrected manually by using \verb+\rn+ instead, or \verb+\rnx+.
-When cross-references to \marginpar{\tt \(\backslash\)rfx, \(\backslash\)rnx} subsentences are local, i.e. appear shortly after the top-level sentence, you might find it inelegant to include the main name or number. In such cases, context disambiguates an abbreviated cross-reference. The commands \verb+\rfx+ and \verb+\rnx+ allow you leave out its head. Compare with the last two lines of the list above:
+When cross-references to \marginpar{\tt \(\backslash\)rfx, \(\backslash\)rnx} subsentences are local, i.e. appear shortly after the top-level sentence, you might find it inelegant to include the main \verb+name+ or number. In such cases, context disambiguates an abbreviated cross-reference. The commands \verb+\rfx+ and \verb+\rnx+ allow you leave out its head. Compare with lines five and six of the list above:
\begin{trivlist}
\item \verb+\rfx{lastnew}+ \(\longrightarrow\) \rfx{lastnew}\hfill (target on page \pageref{lastnew})
@@ -311,9 +336,9 @@ to create and make a cross-reference with \verb+\rf{coolb}+ to \rf{coolb} below:
\lba{coola}{before reference to this}
\lba{coolb}{but nothing more before reference to this.}}
-If the \verb+hyperref+ package \marginpar{\tt hyperref} is called (must be called last) in the preamble, all ordinary cross-references of the label+cross-reference mechanism of LaTeX are by default made into pdf hyperlinks. This includes all cross-references in \verb+philex+ that rely on counters. If the \verb+<hyper>+ package option is also called, cross-references to \emp{named} environments are made into hyperlinks as well.
+If the \verb+hyperref+ package \marginpar{\tt hyperref} is called (must be called last) in the preamble, all ordinary cross-references of the label+cross-reference mechanism of LaTeX are by default made into pdf hyperlinks. This includes all cross-references in \verb+philex+ that rely on counters. If the \verb+<hyper>+ package option is also called, cross-references to \verb+named+ environments are made into hyperlinks as well.
-This is useful for reading pdf:s on the screen, and also for \verb+beamer+ slide-show presentations: click on a cross-reference to a named principle, and you are taken to the page where that principle is stated. In \verb+beamer+ you are taken to the first slide of the relevant frame.
+This is useful for reading pdf:s on the screen, and also for \verb+beamer+ slide-show presentations: click on a cross-reference to a \verb+named+ principle, and you are taken to the page where that principle is stated. In \verb+beamer+ you are taken to the first slide of the relevant frame.
Sub-environments can \marginpar{Cross-reference to \\ sub-environments in footnotes} be used in footnotes as well. But here, to get the cross-references right, the \verb+subformat+ command must be used.\note
{This is illustrated by
@@ -361,7 +386,7 @@ In case you want a full stop at the end of an earlier environment and want to em
One can repeat an entire environment with label by means of the \verb+\rff+ command. \verb+\rff{nice}+ produces \rff{nice}
-Occasionally, a named or \marginpar{\tt \(\backslash\)rffnot} numbered sentence carries a footnote reference, and when repeating the sentence later, you may not also want to repeat the footnote reference, nor the note itself. The alternative command \verb+\rffnot+ allows you to leave them out:
+Occasionally, a \verb+named+ or \marginpar{\tt \(\backslash\)rffnot} numbered sentence carries a footnote reference, and when repeating the sentence later, you may not also want to repeat the footnote reference, nor the note itself. The alternative command \verb+\rffnot+ allows you to leave them out:
\begin{verbatim}
\lb{norepeat}{This ends with a footnote reference.\footnote
@@ -374,16 +399,15 @@ Occasionally, a named or \marginpar{\tt \(\backslash\)rffnot} numbered sentence
Now you can repeat the sentence without the note by
\verb+\rffnot{norepeat}+, which delivers: \rffnot{norepeat}
-\section{Lengths and spaces}
-\verb+linguex+ provides a number length and spacing commands that can be used to customize the appearance of \verb+philex+ environments. Below are given the length name, brief explanation, and the default value set by \verb+linguex+. \qut{hspace} is short for \qut{horizontal space} and \qut{vspace} analogously:
+\section{Lengths and spaces}\label{length}
+\verb+linguex+ provides a number of length and spacing commands that can be used to customize the appearance of \verb+philex+ environments. Below are given the length name, brief explanation, and the default value set by \verb+linguex+. \qut{hspace} is short for \qut{horizontal space} and \qut{vspace} analogously:
\begin{trivlist}
\item \verb+\Exlabelsep+ (hspace after label) \hfill \verb+1.3em+
\item \verb+\Extopsep+ (extra vspace above and below) \hfill \verb+.66\baselineskip+
-\item \verb+\SubExleftmargin+ (hspace after sub-level label) \hfill \verb+2em+
-\item \verb+\SubSubExleftmargin+ (hspace after sub-sub-level label) \hfill \verb+2.4em+
+\item \verb+\SubExleftmargin+ (hspace after sub-level \verb+name+) \hfill \verb+2em+
+\item \verb+\SubSubExleftmargin+ (hspace after sub-sub-level \verb+name+) \hfill \verb+2.4em+
\item \verb+\Exindent+ (indent of the environment) \hfill \verb+0pt+
-%\item \verb+\Exlabelwidth+ (width of top-level label) \hfill \verb+4em+
\end{trivlist}
Beside these, \verb+philex+ modifies \verb+linguex+ by letting two re-definable commands replace hard-coded lengths:
@@ -395,30 +419,77 @@ Now you can repeat the sentence without the note by
\item \verb+\Exredux+ (vspace reduction between environments) \hfill \verb+-\baselineskip+
\end{trivlist}
-If one needs longer labels, e.g. as names of principles or for other purposes, one can use \verb+\phlabelwidth+ in combination with \verb+\Exlabelsep+. For example
+As of version 1.3, \verb+philex+ has built-in features for automatic handling of long \verb+names+. By default, the \verb+\labelsep+ parameter adjusts so that the inner left margin moves to the right. This is illustrated by:
\begin{verbatim}
-\setlength{\Exlabelsep}{2cm}
-\phlabelwidth{4cm}
\broff
-\lb{defe}{Compositionality:}{The meaning ... etc. }
+\lbp{compo}{Compositionality:}{The meaning of a complex
+expression is a function of the meanings of its parts and
+its mode of composition.}
\end{verbatim}
- has the following effect:
-
-
-
-\setlength{\Exlabelsep}{2cm}
-\phlabelwidth{4cm}
+
\broff
-\lbp{compo}{Compositionality:}{The meaning of a complex expression is a function of the meanings of its parts and its mode of composition.}
- For two-column documents, the label separation should preferably be somewhat reduced. This has to be set manually by means of these commands, since there is no automatic adaptation to two-column options or environments.
+\lbp{compo}{Compositionality:}{The meaning of a complex expression is a function of the meanings of its parts and its mode of composition.}%
+\bron%
+The \verb+\lbp+ and \verb+\lbu+ have this feature. For two-column documents, the label separation should preferably be somewhat reduced. This has to be set manually by means of these commands, since there is no automatic adaptation to two-column options or environments.
-\setlength{\Exlabelsep}{1.3em}
-\phlabeldefault
+You might have \marginpar{\tt \(\backslash\)lbpsep, \(\backslash\)lbusep} several consecutive environment with \verb+names+ of different lengths that you wish to have horizontally aligned. This is automatically achieved by the \verb+\lbpsep+ and \verb+\lbusep+ environments. To illustrate:
+\begin{verbatim}
+\lbp{shortname}{Name}{You might have several consecutive
+environments with \texttt{names} of different lengths that
+you wish to have horizontally aligned.}
+\lbpsep{longname}{shortname}{Longername}{You might have several
+consecutive environments with \texttt{names} of different
+lengths that you wish to have horizontally aligned.}
+\end{verbatim}%
+%
+produces%
+%
+\newpage
+\lbp{shortname}{Name}{You might have several consecutive environments with \texttt{names} of different lengths that you wish to have horizontally aligned.}
+\lbpsep{longname}{shortname}{Longername}{You might have several consecutive environments with \texttt{names} of different lengths that you wish to have horizontally aligned.}%
+%
+The \verb+\lbpsep+ takes four mandatory arguments, where the second is the \verb+label+ of the \verb+philex+ environment you want to align with. You can add as many \verb+\lbpsep+ environments as you like; if they have the same target (second mandatory argument), they will align to each other, so that the longest \verb+name+ sets the inner left margin for all others. In case a later environment has a longer \verb+name+ than an earlier one, as in the example above, an extra round of typesetting is required to achieve alignment.
+
+The \verb+\lbusep+ command takes five mandatory arguments. The first three are as in the \verb+\lbu+ command, the fourth provides the target of alignment, i.e. the \verb+label+ of the environment you want to align with (this might and might not be the same as the environment whose \verb+label+ you provide in the second argument), and the fifth provides the content of the environment.
+
+In addition, \marginpar{\tt \(\backslash\)sepset} \verb+philex+ provides a \emp{non-printing} command \verb+\sepset+ whose only purpose is to provide a \verb+name+ for later alignment:
+
+\begin{verbatim}
+\sepset{labelexample}{nameexample}
+\end{verbatim}%
+%
+After such a command has been given, \verb+labelexample+ can be used in the third and fourth arguments of \verb+\lbpsep+ and \verb+\lbusep+, respectively.
-Vertical spacing is controlled with \verb+\Extopsep+ and \verb+\Exredux+. The second controls the reduction of inter-environment vertical space and needs to be adapted to the general control of vertical space. To illustrate, the input
+As of version \marginpar{\tt \(\backslash\)lbpx names} 1.3 of \verb+philex+, the \verb+\lbpx+ environments also have automatic margin adjustment for long \verb+names+. In these cases, the \verb+name+ is set as usual, with the \verb+\bpxformat+ command. If the second or third argument is long, the inner left margin will adjust, as in:
+
+\begin{verbatim}
+\bpbformat{1}{\bf Definition }{.}
+\lbpb{firstdef}{A proposition is known \emp{a priori} to be
+true iff the knowledge is not evidentially based on experience.}
+\end{verbatim}
+yields
+
+\bpbformat{1}{\bf Definition }{.}
+
+\lbpb{firstdef}{A proposition is known \emp{a priori} to be true iff the knowledge is not evidentially based on experience.}
+
+There are also \verb+starred+ \marginpar{\tt \(\backslash\)lbp*, \(\backslash\)lbu*, \(\backslash\)lbpx*} variants of \verb+\lbp+, \verb+\lbu+, and \verb+\lbpx+. The starred commands produce an indented first line in response to a long \verb+name+, but leaves the left margin in place for the following lines:
+
+\begin{verbatim}
+\lbp*{compo2}{Compositionality}{The meaning of a complex
+expression is a function of the meanings of its parts and
+its mode of composition.}
+\end{verbatim}%
+%
+produces
+
+\lbp*{compo2}{Compositionality}{The meaning of a complex expression is a function of the meanings of its parts and its mode of composition.}
+
+
+Vertical spacing \marginpar{Vertical spacing} is controlled with \verb+\Extopsep+ and \verb+\Exredux+. The second controls the reduction of inter-environment vertical space and needs to be adapted to the general control of vertical space. To illustrate, the input
\begin{verbatim}
\setlength{\Extopsep}{2\baselineskip}
@@ -479,6 +550,10 @@ There is also a \marginpar{Clash with \texttt{tipa}} clash between \verb+linguex
Finally, \marginpar{Comments} bug reports, comments or suggestions are welcome and should be directed to Peter Pagin at \hyperref{mailto:peter.pagin@philosophy.su.se}{}{}{peter.pagin@philosophy.su.se}.
\section{Version history}
+\subsection*{Changes in version 1.2}
+-- Grammaticality judgments added.\\
+-- Bugfix: Horizontal spacing with \verb+\rn+. Fixed.\footnote
+ {This bug was fixed in version 1.01, but stupidly reintroduced in version 1.1 because of bad file management.}
\subsection*{Changes in version 1.1}
-- Local cross-references added.\\
-- Possibility of repeating a sentence without its associated footnote.\\
diff --git a/Master/texmf-dist/tex/latex/philex/philex.sty b/Master/texmf-dist/tex/latex/philex/philex.sty
index 119369cdfa2..81f4df5b004 100644
--- a/Master/texmf-dist/tex/latex/philex/philex.sty
+++ b/Master/texmf-dist/tex/latex/philex/philex.sty
@@ -1,8 +1,8 @@
%This is a small package with additions to Wolfgang Sternefeld's linguex package (adapted to version 4.3). It provides extended functions for cross-referencing and repeating numbered and named sentences, additional formatting options and hyperref support.
%Author: Peter Pagin (with a contribution by Robin Fairbairns).
%email: peter.pagin@philosophy.su.se
-%Date: 2014.03.28
-%Version: 1.2
+%Date: 2014.08.20
+%Version: 1.3
%License type: lppl
@@ -10,22 +10,39 @@
\ProvidesPackage{philex}
-\RequirePackage{xspace,calc,cgloss4e,linguex}
+\RequirePackage{xspace,calc,cgloss4e,linguex,ifthen,suffix}
\newif\ifhyperref
\hyperreffalse
\newif\ifoldpunct
\oldpunctfalse
+\newif\ifphildraft
+\phildraftfalse
+
\DeclareOption{oldpunct}{\oldpuncttrue}
\DeclareOption{hyper}{\hyperreftrue}
+\DeclareOption{draft}{\phildrafttrue}
\ProcessOptions
\newcounter{altsub}
\newcounter{altsubsub}
\renewcommand{\thealtsub}{\subettan{altsub}}
\renewcommand{\Exroman}{\roman}
-\newcommand{\refdash}{-}
+\AtBeginDocument{\settowidth{\Exlabelwidth}{(110)}}
+\newlength{\seba}
+\newlength{\sebatemp}
+\newlength{\bpasize}
+\newlength{\bpbsize}
+\newlength{\bpcsize}
+\newlength{\bpdsize}
+
+
+\ifphildraft
+\setlength{\marginparwidth}{7em}
+\setlength{\marginparpush}{4pt}
+\newcommand{\philmarginfactor}{1.2}
+\else \fi
%Spacing and formatting commands
\setlength{\Exredux}{-\baselineskip}
@@ -36,8 +53,8 @@
\renewcommand{\philmiddle}{#1}
\renewcommand{\philsmall}{#1}}
\renewcommand{\phlabeldefault}{\renewcommand{\philarge}{3em}
-\renewcommand{\philmiddle}{3em}
-\renewcommand{\philsmall}{3em}}
+\renewcommand{\philmiddle}{2em}
+\renewcommand{\philsmall}{1em}}
\newcommand{\phlabelsep}[1]{\setlength{\Exlabelsep}{#1}}
\newcommand{\phlabelsepdefault}{\setlength{\Exlabelsep}{1.3em}}
\newcommand{\firstphildash}{}
@@ -93,7 +110,21 @@
%Top-level numbered sentence:
\newcommand{\lb}[3][n]{
-\ifdim\lastskip=\Extopsep\vspace\Exredux\else \fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\phlabelsepdefault
+\phlabeldefault
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2r\endcsname{#3}\expandafter\gdef\csname#2\endcsname{\ref{#2}}
\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}}}
\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
@@ -106,13 +137,38 @@
\else
\ex. \label{#2} \if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}%
\parbox{\centro}{\centering #3\philpunct}\else #3\philpunct\fi\par%
-\fi}
+\fi}
+
+
%Top-level named sentence:
\newcommand{\lbp}[4][n]{
-\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip\z@ \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip\z@ \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\label{#2}
+\settowidth{\sebatemp}{#3}
+\settowidth{\seba}{\rsep{#2}}
+\ifdim \sebatemp>\seba
+\expandafter\gdef\csname #2sep\endcsname{#3}%
+\settowidth{\seba}{\rsep{#2}}%
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2sep\endcsname{#3}}}
+\else
+\fi
+\phlabelwidth{10cm}
+\ifdim \seba>2.5em \setlength{\Exlabelsep}{\seba-0.5em}%
+\else \phlabelsepdefault \fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#4}\expandafter\gdef\csname#2\endcsname{#3} \expandafter\gdef\csname#2r\endcsname{#4}}}
\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#4}
\expandafter\providecommand\expandafter{\csname #2\endcsname}{#3}
@@ -129,12 +185,106 @@
\fi
}
+\WithSuffix\newcommand\lbp*{\lbpStar}
+\newcommand{\lbpStar}[4][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -100
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\label{#2}
+\phlabelsepdefault
+\settowidth{\sebatemp}{#3}
+\phlabelwidth{10cm}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#4}\expandafter\gdef\csname#2\endcsname{#3} \expandafter\gdef\csname#2r\endcsname{#4}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#4}
+\expandafter\providecommand\expandafter{\csname #2\endcsname}{#3}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#4}
+\ifhyperref
+\ex.[\hypertarget{#2}{\lebrack#3\ribrack}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #4\philpunct} \else \hspace{\sebatemp} \hspace{-2em} #4\philpunct\fi\par
+\else%
+\ex.[\lebrack#3\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #4\philpunct} \else \hspace{\sebatemp} \hspace{-2em}
+#4\philpunct\fi\par
+\fi
+}
+
+%Top-level named sentence, alternative:
+\newcommand{\lbpsep}[5][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -100
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\label{#2}
+\phlabelwidth{10cm}
+\settowidth{\seba}{\rsep{#3}}
+\settowidth{\sebatemp}{#4}
+\ifdim \seba>\sebatemp
+\relax
+\else
+\expandafter\gdef\csname #3sep\endcsname{#4}%
+\settowidth{\seba}{\rsep{#3}}%
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#3sep\endcsname{#4}}}
+\fi
+\ifdim \seba>2.5em \setlength{\Exlabelsep}{\seba-0.5em}%
+\else \phlabelsepdefault\fi
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#5}\expandafter\gdef\csname#2\endcsname{#4} \expandafter\gdef\csname#2r\endcsname{#5}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#5}
+\expandafter\providecommand\expandafter{\csname #2\endcsname}{#4}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#5}
+\ifhyperref
+\ex.[\hypertarget{#2}{\lebrack#4\ribrack}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #5\philpunct} \else #5\philpunct\fi\par
+\else%
+\ex.[\lebrack#4\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #5\philpunct} \else #5\philpunct\fi\par
+\fi
+}
-%Stand-alone sub-level initial sentence, sequence a:
+
+%Stand-alone top-level initial sentence, sequence a:
\newcommand{\lbpa}[3][n]{
-\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\refstepcounter{bpa}\label{#2}
+\ifdim \bpasize>2.5em \setlength{\Exlabelsep}{\bpasize-0.5em}%
+\else \phlabelsepdefault\fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
\expandafter\gdef\csname#2\endcsname{\ref{#2}}
\expandafter\gdef\csname#2r\endcsname{#3}}}
@@ -153,11 +303,60 @@
\fi
}
+\WithSuffix\newcommand\lbpa*{\lbpaStar}
+\newcommand{\lbpaStar}[3][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\refstepcounter{bpa}\label{#2}
+\setlength{\Exlabelsep}{0pt}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
+\expandafter\gdef\csname#2\endcsname{\ref{#2}}
+\expandafter\gdef\csname#2r\endcsname{#3}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
+\expandafter\providecommand\expandafter{\csname#2\endcsname}{\ref{#2}}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
+\ifhyperref
+\ex.[\hypertarget{#2}{\thebpa}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\else
+\ex.[\thebpa\hspace{-1em}]
+\renewcommand{\theSubExNo}{\csname#2\endcsname\subettan{SubExNo}}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\fi
+}
-%Stand-alone sub-level initial sentence, sequence b:
+
+%Stand-alone top-level initial sentence, sequence b:
\newcommand{\lbpb}[3][n]{
-\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\refstepcounter{bpb}\label{#2}
+\ifdim \bpbsize>2.5em \setlength{\Exlabelsep}{\bpbsize-0.5em}%
+\else \phlabelsepdefault\fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}\expandafter\gdef\csname#2\endcsname{\ref{#2}} \expandafter\gdef\csname#2r\endcsname{#3}}}
\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
\expandafter\providecommand\expandafter{\csname #2\endcsname}{\ref{#2}}
@@ -175,10 +374,59 @@
}
-%Stand-alone sub-level initial sentence, sequence c:
+\WithSuffix\newcommand\lbpb*{\lbpaStar}
+\newcommand{\lbpbStar}[3][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\refstepcounter{bpb}\label{#2}
+\setlength{\Exlabelsep}{0pt}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
+\expandafter\gdef\csname#2\endcsname{\ref{#2}}
+\expandafter\gdef\csname#2r\endcsname{#3}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
+\expandafter\providecommand\expandafter{\csname#2\endcsname}{\ref{#2}}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
+\ifhyperref
+\ex.[\hypertarget{#2}{\thebpb}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\else
+\ex.[\thebpb\hspace{-1em}]
+\renewcommand{\theSubExNo}{\csname#2\endcsname\subettan{SubExNo}}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\fi
+}
+
+%Stand-alone top-level initial sentence, sequence c:
\newcommand{\lbpc}[3][n]{
-\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\refstepcounter{bpc}\label{#2}
+\ifdim \bpcsize>2.5em \setlength{\Exlabelsep}{\bpcsize-0.5em}%
+\else \phlabelsepdefault\fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}\expandafter\gdef\csname#2\endcsname{\ref{#2}} \expandafter\gdef\csname#2r\endcsname{#3}}}
\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
\expandafter\providecommand\expandafter{\csname #2\endcsname}{\ref{#2}}
@@ -196,14 +444,65 @@
}
+\WithSuffix\newcommand\lbpc*{\lbpaStar}
+\newcommand{\lbpcStar}[3][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\refstepcounter{bpc}\label{#2}
+\setlength{\Exlabelsep}{0pt}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
+\expandafter\gdef\csname#2\endcsname{\ref{#2}}
+\expandafter\gdef\csname#2r\endcsname{#3}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
+\expandafter\providecommand\expandafter{\csname#2\endcsname}{\ref{#2}}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
+\ifhyperref
+\ex.[\hypertarget{#2}{\thebpc}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\else
+\ex.[\thebpc\hspace{-1em}]
+\renewcommand{\theSubExNo}{\csname#2\endcsname\subettan{SubExNo}}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\fi
+}
+
+
%Stand-alone sub-level initial sentence, sequence d:
\newcommand{\lbpd}[3][n]{
-\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\refstepcounter{bpd}\label{#2}
+\ifdim \bpdsize>2.5em \setlength{\Exlabelsep}{\bpdsize-0.5em}%
+\else \phlabelsepdefault\fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}\expandafter\gdef\csname#2\endcsname{\ref{#2}} \expandafter\gdef\csname#2r\endcsname{#3}}}
\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
\expandafter\providecommand\expandafter{\csname #2\endcsname}{\ref{#2}}
\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
+\else \fi
\ifhyperref
\ex.[\hypertarget{#2}{\thebpd}\hspace{-1em}]
\renewcommand{\theExNo}{\csname#2\endcsname}
@@ -217,9 +516,68 @@
}
+\WithSuffix\newcommand\lbpd*{\lbpdStar}
+\newcommand{\lbpdStar}[3][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\refstepcounter{bpd}\label{#2}
+\setlength{\Exlabelsep}{0pt}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
+\expandafter\gdef\csname#2\endcsname{\ref{#2}}
+\expandafter\gdef\csname#2r\endcsname{#3}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#3}
+\expandafter\providecommand\expandafter{\csname#2\endcsname}{\ref{#2}}
+\expandafter\providecommand\expandafter{\csname#2r\endcsname}{#3}
+\ifhyperref
+\ex.[\hypertarget{#2}{\thebpd}\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\renewcommand{\theFnExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\else
+\ex.[\thebpd\hspace{-1em}]
+\renewcommand{\theSubExNo}{\csname#2\endcsname\subettan{SubExNo}}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #3\philpunct} \else \hspace{\bpasize} \hspace{-2em}#3\fi\philpunct\par
+\fi
+}
+
%Top-level sentence with repeated and suffixed name or number:
-\newcommand{\lbu}[5][n]{\ifdim\lastskip=\Extopsep\vspace{\Exredux}\fi
+\newcommand{\lbu}[5][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
\label{#2}
+\phlabelwidth{10cm}
+\settowidth{\sebatemp}{\rn{#3}#4}
+\settowidth{\seba}{\rsep{#2}}
+\ifdim \sebatemp>\seba
+\expandafter\gdef\csname #2sep\endcsname{\rn{#3}#4}%
+\settowidth{\seba}{\rsep{#2}}%
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2sep\endcsname{\rn{#3}#4}}}
+\else
+\fi
+\ifdim \seba>2.5em \setlength{\Exlabelsep}{\seba-1em}%
+\else \phlabelsepdefault\fi
\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#5}
\expandafter\gdef\csname #2\endcsname{\csname#3\endcsname#4}
\expandafter\gdef\csname #2r\endcsname{#5}}}
@@ -236,6 +594,93 @@
\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #5\philpunct} \else #5\philpunct\fi\par \fi
}
+\WithSuffix\newcommand\lbu*{\lbuStar}
+\newcommand{\lbuStar}[5][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\label{#2}
+\phlabelwidth{10cm}
+\phlabelsepdefault
+\settowidth{\sebatemp}{\rn{#3}#4}
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#5}
+\expandafter\gdef\csname #2\endcsname{\csname#3\endcsname#4}
+\expandafter\gdef\csname #2r\endcsname{#5}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#5}
+\expandafter\providecommand\expandafter{\csname #2\endcsname}{\csname#3\endcsname#4}
+\expandafter\providecommand\expandafter{\csname #2r\endcsname}{#5}
+\ifhyperref
+\ex.[\lebrack\hypertarget{#2}{\csname#3\endcsname#4}\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #5\philpunct} \else \hspace{\sebatemp} \hspace{-2em} #5\philpunct\fi\par
+\else
+\ex.[\lebrack\csname#3\endcsname#4\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #5\philpunct} \else\hspace{\sebatemp} \hspace{-2em} #5\philpunct\fi\par \fi
+}
+
+
+%Top-level sentence with repeated and suffixed name or number, alternative for alignment:
+\newcommand{\lbusep}[6][n]{
+\ifdim\lastskip=\Extopsep\vspace{\Exredux}
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1\baselineskip}}\fi
+\else
+\ifphildraft
+\label{#2knut}
+ \vskip 0pt \penalty -400
+\label{#2ulla}
+\ifthenelse{\pageref{#2knut}=\pageref{#2ulla}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\raisebox{-1.6\baselineskip}{\bf #2}}}}{\marginpar{\hspace{-\philmarginfactor\textwidth}{\bf #2}}\vspace{-1.6\baselineskip}}\fi
+\fi
+\label{#2}
+\phlabelwidth{10cm}
+\settowidth{\seba}{\rsep{#5}}
+\settowidth{\sebatemp}{\rn{#3}#4}
+\ifdim \seba>\sebatemp
+\relax
+\else
+\expandafter\gdef\csname #5sep\endcsname{\rn{#3}#4}%
+\settowidth{\seba}{\rsep{#5}}%
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#5sep\endcsname{\rn{#3}#4}}}
+\fi
+\ifdim \seba>2.5em \setlength{\Exlabelsep}{\seba-1em}%
+\else \phlabelsepdefault\fi
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#6}
+\expandafter\gdef\csname #2\endcsname{\csname#3\endcsname#4}
+\expandafter\gdef\csname #2r\endcsname{#6}}}
+\expandafter\providecommand\expandafter{\csname#2p\endcsname}{\MakeLowercase#6}
+\expandafter\providecommand\expandafter{\csname #2\endcsname}{\csname#3\endcsname#4}
+\expandafter\providecommand\expandafter{\csname #2r\endcsname}{#6}
+\ifhyperref
+\ex.[\lebrack\hypertarget{#2}{\csname#3\endcsname#4}\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #6\philpunct} \else #6\philpunct\fi\par
+\else
+\ex.[\lebrack\csname#3\endcsname#4\ribrack\hspace{-1em}]
+\renewcommand{\theExNo}{\csname#2\endcsname}
+\if#1c \setlength{\abovedisplayskip}{1ex}\setlength{\belowdisplayskip}{2ex}\parbox{\centro}{\centering #6\philpunct} \else #6\philpunct\fi\par
+\fi
+}
+
+%Non-printing command for setting of label-separation for alignment:
+\newcommand{\sepset}[2]{
+\label{#1}
+\expandafter\gdef\csname #1sep\endcsname{#2}%
+\immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#1sep\endcsname{#2}}}}
+
%----------------- Sub-environments -------------------------------
\newcommand{\philsemi}{@}
@@ -264,10 +709,12 @@
\expandafter\providecommand\csname#2q\endcsname{\ref{#2q}}
\a. \label{#2}#3\philsubpunct
\else
+
\ifnum\theExDepth=1
\renewcommand{\thealtsub}{#1}
\renewcommand{\theSubExNo}{\theExNo\firstphildash#1}
\refstepcounter{SubExNo}
+
\immediate\write\@auxout{%
\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
\expandafter\gdef\csname#2r\endcsname{#3}
@@ -304,6 +751,9 @@
\setcounter{SubSubExNo}{0}
\fi
\fi
+\ifphildraft
+\marginpar{\vspace{-0.8\baselineskip}\quad \bf #2 \hspace{-2cm}}
+\else \fi
}
@@ -331,35 +781,38 @@
\expandafter\providecommand\csname#2\endcsname{\ref{#2}}
\expandafter\providecommand\csname#2q\endcsname{\ref{#2q}}
\b. \label{#2}#3\philsubpunct
- \else \immediate\write\@auxout{\unexpanded{\expandafter\gdef\csname#2p \endcsname{\MakeLowercase#3}
+ \else
+ \ifnum\theExDepth=1
+\renewcommand{\thealtsub}{#1}
+\renewcommand{\theSubExNo}{\theExNo\firstphildash#1}
+\refstepcounter{SubExNo}
+ \immediate\write\@auxout{%
+\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
\expandafter\gdef\csname#2r\endcsname{#3}
\expandafter\gdef\csname#2\endcsname{ref{#2}}
\expandafter\global\expandafter\def\csname#2q\endcsname{#1}
}}
-\ifnum\theExDepth=1 \renewcommand{\theSubExNo}{\theExNo\firstphildash#1}
-\refstepcounter{SubExNo}
-\renewcommand{\thealtsub}{#1}
-\renewcommand{\thealtsubsub}{#1\Exroman{altsubsub}}
-\else
-\ifnum\theExDepth=2
-\renewcommand{\thealtsub}{#1}
-\renewcommand{\theSubExNo}{\theExNo\firstphildash#1}
-\refstepcounter{altsub}\label{#2q}
\else
+\ifnum\theExDepth=2
\renewcommand{\thealtsubsub}{\thealtsub\secondphildash#1}
\refstepcounter{altsubsub}\label{#2q}
\renewcommand{\theSubSubExNo}{\theSubExNo\secondphildash#1}
\refstepcounter{SubSubExNo}
-\fi\fi
-\expandafter\providecommand\csname#2p\endcsname{\MakeLowercase#3}
-\expandafter\providecommand\csname#2r\endcsname{#3}
-\expandafter\providecommand\csname#2\endcsname{\ref{#2}}
-\expandafter\providecommand\csname#2q\endcsname{\ref{#2q}}
+\immediate\write\@auxout{%
+\unexpanded{\expandafter\gdef\csname#2p\endcsname{\MakeLowercase#3}
+\expandafter\gdef\csname#2r\endcsname{#3}
+\expandafter\gdef\csname#2\endcsname{\ref{#2}}
+\expandafter\global\expandafter\def\csname#2q\endcsname{\ref{#2q}}
+}}
+\else\fi\fi
\ifhyperref
\b.[\hypertarget{#2}\lebrack#1\ribrack] \label{#2}#3\philsubpunct
\else
\b.[\lebrack#1\ribrack] \label{#2}#3\philsubpunct \fi
-\fi}
+\fi
+\ifphildraft
+\marginpar{\vspace{-0.5\baselineskip}\quad \bf #2}
+\else \fi}
\newcommand{\lbz}[3][@]{\philempty
\def\tempa{#1}
@@ -422,6 +875,9 @@
\else
\b.[\lebrack#1\ribrack] \label{#2}#3\philsubpunct \fi
\fi
+\ifphildraft
+\marginpar{\vspace{-0.5\baselineskip}\quad \bf #2}
+\else \fi
\end{list}\addtocounter{ExDepth}{-1}\philsubempty}
@@ -493,6 +949,9 @@
%Repeating the sentence with name or number and bracket control:
\newcommand{\rfp}[1]{\ex.[\lebrack\csname#1\endcsname\ribrack\hspace{-1em}] \csname #1r\endcsname\par}
+%Cross-reference for control of label-separation
+\newcommand{\rsep}[1]{\csname#1sep\endcsname}
+
%Controlling numbering, prefix and suffix for SubExNo
\newcommand{\subformat}[3]{\if#1a \renewcommand{\subettan}{\alph} \else
\if#1A \renewcommand{\subettan}{\Alph} \else \if#11 \renewcommand{\subettan}{\arabic} \else \if#1r \renewcommand{\subettan}{\roman} \else \if#1R \renewcommand{\subettan}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\SubExLBr}{#2}
@@ -505,24 +964,32 @@
%Ditto for stand-alone sequences, a-d:
\newcommand{\bota}{\alph}
-\newcommand{\bpaformat}[3]{\setcounter{bpa}{0}%
-\if#1a \else
-\if#1A \renewcommand{\bota}{\Alph} \else \if#11 \renewcommand{\bota}{\arabic} \else \if#1r \renewcommand{\bota}{\roman} \else \if#1R \renewcommand{\bota}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpa}{#2\bota{bpa}#3}}
+\newcommand{\bpaformat}[4][0]{\setcounter{bpa}{0}
+\settowidth{\sebatemp}{#399#4}
+\setlength{\bpasize}{#1em+\sebatemp}
+\if#2a \else
+\if#2A \renewcommand{\bota}{\Alph} \else \if#21 \renewcommand{\bota}{\arabic} \else \if#2r \renewcommand{\bota}{\roman} \else \if#2R \renewcommand{\bota}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpa}{#3\bota{bpa}#4}}
\newcommand{\botb}{\alph}
-\newcommand{\bpbformat}[3]{\setcounter{bpb}{0}%
-\if#1a \else
-\if#1A \renewcommand{\botb}{\Alph} \else \if#11 \renewcommand{\botb}{\arabic} \else \if#1r \renewcommand{\botb}{\roman} \else \if#1R \renewcommand{\botb}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpb}{#2\botb{bpb}#3}}
+\newcommand{\bpbformat}[4][0]{\setcounter{bpb}{0}
+\settowidth{\sebatemp}{#399#4}
+\setlength{\bpbsize}{#1em+\sebatemp}
+\if#2a \else
+\if#2A \renewcommand{\botb}{\Alph} \else \if#21 \renewcommand{\botb}{\arabic} \else \if#2r \renewcommand{\botb}{\roman} \else \if#2R \renewcommand{\botb}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpb}{#3\botb{bpb}#4}}
\newcommand{\botc}{\alph}
-\newcommand{\bpcformat}[3]{\setcounter{bpc}{0}%
-\if#1a \else
-\if#1A \renewcommand{\botc}{\Alph} \else \if#11 \renewcommand{\botc}{\arabic} \else \if#1r \renewcommand{\botc}{\roman} \else \if#1R \renewcommand{\botc}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpc}{#2\botc{bpc}#3}}
+\newcommand{\bpcformat}[4][0]{\setcounter{bpc}{0}
+\settowidth{\sebatemp}{#399#4}
+\setlength{\bpcsize}{#1em+\sebatemp}
+\if#2a \else
+\if#2A \renewcommand{\botc}{\Alph} \else \if#21 \renewcommand{\botc}{\arabic} \else \if#2r \renewcommand{\botc}{\roman} \else \if#2R \renewcommand{\botc}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpc}{#3\botc{bpc}#4}}
\newcommand{\botd}{\alph}
-\newcommand{\bpdformat}[3]{\setcounter{bpd}{0}%
-\if#1a \else
-\if#1A \renewcommand{\botd}{\Alph} \else \if#11 \renewcommand{\botd}{\arabic} \else \if#1r \renewcommand{\botd}{\roman} \else \if#1R \renewcommand{\botd}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpd}{#2\botd{bpd}#3}}
+\newcommand{\bpdformat}[4][0]{\setcounter{bpd}{0}
+\settowidth{\sebatemp}{#399#4}
+\setlength{\bpdsize}{#1em+\sebatemp}
+\if#2a \else
+\if#2A \renewcommand{\botd}{\Alph} \else \if#21 \renewcommand{\botd}{\arabic} \else \if#2r \renewcommand{\botd}{\roman} \else \if#2R \renewcommand{\botd}{\Roman} \else \fi \fi \fi \fi \fi \renewcommand{\thebpd}{#3\botd{bpd}#4}}
%Controlling numbering, prefix and suffix for SubSubExNo
\newcommand{\subsubformat}[3]{\if#1r \renewcommand{\Exroman}{\roman} \else