
德國的法律報告經常使用一種有些奇怪的結構方式。我們沒有使用通常的數字,而是
A。
(B., CD ...) 對於第一級,
我。
-- 第二級羅馬數字
1.
第三級阿拉伯數字
A)
b)、c)、d) ...第四級
啊)
bb), cc), dd) 為第五級。
我在下面的幾乎最小的示例中實現了這一點。我想要簡短的參考文獻。如果您正在閱讀“B.”部分,並且引用了“B.II.”小節,則列印“II.”就足夠了。但如果您正在閱讀 A. 部分,則需要 »B.II.«。如果您從 B.II.3.a)cc) 引用 B.II.3.a)bb) 中的某些內容,則輸出\ref
顯然不應該是 B.II.3.a)bb),而只是 bb )。如果您處於 B.II.4. 中,則參考文獻必須顯示 3.a)bb)。
但如果您從 CI1. 中的某個位置引用,則需要 B.II.3.a)bb) 的完整引用。
特殊要求:解決方案也應該與 varioref 套件一起使用。
jura 文檔類別提供了此類參考。但我依賴 KOMA-script 的原因有很多。所以我嘗試從 jura.dtx 獲取代碼並對其進行調整,但我收到一條我不明白的錯誤訊息,請參見下文。
那麼:我可以根據\ref
文本中的位置提供參考嗎?歡迎每一個解決方案。
編輯烏爾里克的答案:
該代碼始終產生“II”。低於小節的等級:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext}
\setcounter{secnumdepth}{5} % fünf Ebenen
\renewcommand*{\thesection}{\Alph{section}.}
\renewcommand*{\thesubsection}{\Roman{subsection}.}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
\renewcommand*{\theparagraph}{\alph{paragraph})}%)
\renewcommand*{\thesubparagraph}{\alph{subparagraph}\alph{subparagraph})}
\usepackage{zref-user,zref-counter}
\usepackage{expl3}
\makeatletter
\zref@newprop{section}[1]{\the\c@section}
\zref@newprop{subsection}[1]{\the\c@subsection}
\zref@addprop{main}{section}
\zref@addprop{main}{subsection}
\ExplSyntaxOn
\newcommand\myref[1]{%
\hyperref[#1]{
\int_compare:nTF
{
\zref@extractdefault {#1} {section} {0} = \the\c@section
}
{
%ref is from current section
\int_compare:nTF
{\zref@extractdefault {#1} {subsection} {0} = 0 }
{Was~nun?}
{\int_to_Roman:n{\zref@extractdefault {#1} {subsection} {0}}.}
}
{
%ref is from other section
\int_to_Alph:n {\zref@extractdefault {#1} {section} {0}}.
\int_to_Roman:n {\zref@extractdefault {#1} {subsection} {0}}
}}}
\ExplSyntaxOff
\makeatother
%\usepackage{xcolor}
\usepackage[]{hyperref}
\newcommand\Label[1]{\zlabel{#1}\label{#1}}
\begin{document}
\section{First}
\Label{sec:first}
I'm refering to the second section and I'd like to have a full
reference like this: \myref{sec:secondofsecond}.
\section{Second}
\Label{sec:second}
\myref{sec:secondofsecond}, \myref{sec:first}, \myref{sec:second} And lets test the
new references, see \myref{CLA:first-paragraph} or \myref{CLA:first-second.second}
\subsection{Firstofsecond}
\Label{sec:firstofsecond}
Text.
\subsection{Secondofsecond}
\Label{sec:secondofsecond}
Now down the tree:
\subsubsection{first of second.second}
\Label{CLA:first-second.second}
Just some letters.
\paragraph{first-paragraph}
\Label{CLA:first-paragraph}
And more text.
\end{document}
這是我早期的 MWE,現在有點過時了:
\documentclass[english, parskip=half, numbers=noendperiod]{scrartcl}
\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext}
\setcounter{secnumdepth}{5} % five levels
\renewcommand*{\thesection}{\Alph{section}.}
\renewcommand*{\thesubsection}{\Roman{subsection}.}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
\renewcommand*{\theparagraph}{\alph{paragraph})}%)
\renewcommand*{\thesubparagraph}{\alph{subparagraph}\alph{subparagraph})}
\renewcommand*{\paragraphformat}{\theparagraph{}\enskip}
\renewcommand*{\subparagraphformat}{%
\thesubparagraph{}\enskip}
\makeatletter
\renewcommand{\p@subsection}{\thesection}
\renewcommand{\p@subsubsection}{\thesection\thesubsection}
\renewcommand{\p@paragraph}{\thesection\thesubsection\thesubsubsection}
\renewcommand{\p@subparagraph}{\thesection\thesubsection\thesubsubsection\theparagraph\,}
\makeatother{}
\begin{document}
\section{First}
\label{sec:first}
I'm refering to the second section and I'd like to have a full
reference like this: \ref{sec:secondofsecond}.
\section{Second}
\label{sec:second}
\subsection{Firstofsecond}
\label{sec:firstofsecond}
Text.
\subsection{Secondofsecond}
\label{sec:secondofsecond}
But now I'm refering to »Firstofsecond« and my readers do not need the
full reference (\ref{sec:firstofsecond}), simply »I.« would be sufficient.
From here a reference to »first of second / second« should look like
this: »1.« and not \ref{sec:first-second-second}
\subsubsection{First of second / second}
\label{sec:first-second-second}
text.
\end{document}
好的,現在討論回收已棄用的 jura.dtx 代碼的想法
按照 jknappen 的建議,我嘗試使用 jura.dtx 的程式碼來實現我想要的行為。我將程式碼更改為:
%\documentclass[english, parskip=half, numbers=noendperiod]{scrartcl}
\documentclass[english]{article}
\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext}
\setcounter{secnumdepth}{5} % fünf Ebenen
\renewcommand*{\thesection}{\Alph{section}.}
\renewcommand*{\thesubsection}{\Roman{subsection}.}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
\renewcommand*{\theparagraph}{\alph{paragraph})}%)
\renewcommand*{\thesubparagraph}{\alph{subparagraph}\alph{subparagraph})}
%% Code stolen from jura.dtx
\makeatletter{}
\newcommand*{\@greek}[1]{\ifcase#1\relax\or$\alpha$\or$\beta$\or
$\gamma$\or$\delta$\or$\varepsilon$\or$\zeta$\or$\eta$\or$\vartheta$\or
$\iota$\or$\kappa$\or$\lambda$\or$\mu$\or$\nu$\or$\xi$\or$o$\or$\pi$\or
$\rho$\or$\sigma$\or$\tau$\or$\upsilon$\or$\varphi$\or$\chi$\or$\psi$\or
$\omega$\else\@ctrerr\fi}
\newcounter{lvla}
\newcounter{lvlb}
\newcounter{lvlc}
\newcounter{lvld}
\newcounter{lvle}
\newcounter{lvlf}
\newcounter{lvlg}
\newcounter{lvlh}
\newcounter{lvli}
\newcounter{lvlj}
\newcounter{lvlk}
\newcounter{lvll}
\renewcommand*{\thelvla}{\J@Number}
\renewcommand*{\thelvlb}{\J@Number}
\renewcommand*{\thelvlc}{\J@Number}
\renewcommand*{\thelvld}{\J@Number}
\renewcommand*{\thelvle}{\J@Number}
\renewcommand*{\thelvlf}{\J@Number}
\renewcommand*{\thelvlg}{\J@Number}
\renewcommand*{\thelvlh}{\J@Number}
\renewcommand*{\thelvli}{\J@Number}
\renewcommand*{\thelvlj}{\J@Number}
\renewcommand*{\thelvlk}{\J@Number}
\renewcommand*{\thelvll}{\J@Number}
\newcounter{tiefe}\setcounter{tiefe}{1}
%\setcounter{tocdepth}{12}
%\setcounter{secnumdepth}{12}
\newcommand*{\J@Number}{\J@NumberRoot{\value{tiefe}}%
\J@NumberEnd{\value{tiefe}}}
\newcommand*{\J@NumberRoot}[1]{\J@INumberRoot{#1}%
{\csname c@lvl\@alph{#1}\endcsname}}
\newcommand*{\J@INumberRoot}[2]{%
\ifcase#1\or
\@Alph{#2}\or
\@Roman{#2}\or
\@arabic{#2}\or
\@alph{#2}\or
\@alph{#2}\@alph{#2}\or
\@greek{#2}\or
\@greek{#2}\@greek{#2}\or
(\@arabic{#2})\or
(\@alph{#2})\or
(\@alph{#2}\@alph{#2})\or
(\@greek{#2})\or
(\@greek{#2}\@greek{#2})\fi}
\newcommand*{\J@NumberEnd}[1]{\ifnum#1<8\ifnum#1<4.\else)\fi\fi}
\newcommand*{\J@SetCurrent}{\xdef\@currentlabel{{\arabic{lvla}}%
{\arabic{lvlb}}{\arabic{lvlc}}{\arabic{lvld}}{\arabic{lvle}}%
{\arabic{lvlf}}{\arabic{lvlg}}{\arabic{lvlh}}{\arabic{lvli}}%
{\arabic{lvlj}}{\arabic{lvlk}}{\arabic{lvll}}}}
\ifnum\value{lvl\alph{tiefe}}=1%
\PackageWarning{alphanum}{only one subitem in level "\J@Number" ending}%
\fi
\setcounter{lvl\alph{tiefe}}{0}
\addtocounter{tiefe}{-1}
\renewcommand*{\ref}{%
\@ifstar{\@tempswatrue\J@ref}{\@tempswafalse\J@ref}}
\newcommand*{\J@ref}[1]{%
\expandafter\ifx\csname r@#1\endcsname\relax
\protect\G@refundefinedtrue
\nfss@text{\reset@font\bfseries ??}
\@latex@warning{Reference '#1' on page \thepage \space undefined}%
\else
\expandafter\J@refX\csname r@#1\endcsname
\fi
}
\newcommand*{\J@refX}[1]{\expandafter\J@refXX#1}
\newcommand*{\J@refXX}[2]{%
\ifcat_\ifnum9<1#1_\else X\fi
#1%
\else
\expandafter\J@refA#1%
\fi}
\newcommand*{\J@refA}[6]{\@tempcnta\@ne%
\J@refP1{#1}0\J@refP2{#2}{#1}\J@refP3{#3}{#2}\J@refP4{#4}{#3}%
\J@refP5{#5}{#4}\J@refP6{#6}{#5}\J@refB#6}
\newcommand*{\J@refB}[7]{\J@refP7{#2}{#1}\J@refP8{#3}{#2}%
\J@refP9{#4}{#3}\J@refP{10}{#5}{#4}\J@refP{11}{#6}{#5}%
\J@refP{12}{#7}{#6}\J@NumberEnd\@tempcnta}
\newcommand*{\J@refP}[3]{%
\if@tempswa%
\ifnum#2>0\@tempcnta#1\,\J@INumberRoot{#1}{#2}\fi
\else%
\ifnum#2=\value{lvl\@alph{#1}}%
\ifnum#1=12\PackageError{alphanum}{Self-reference detected!}{You used
a \protect\ref\space in the same section as the referenced
\protect\label\MessageBreak That makes no sense!}\fi
\else
\ifnum#2>0\@tempcnta#1\@tempswatrue\J@INumberRoot{#1}{#2}\else
\ifnum#3>0%
\@tempcnta#1\advance\@tempcnta-1\relax\J@INumberRoot{\@tempcnta}{#3}%
\fi
\fi
\fi
\fi}
\makeatother{}
\begin{document}
\section{First}
\label{sec:first}
I'm refering to the second section and I'd like to have a full
reference like this: \ref{sec:secondofsecond}.
\section{Second}
\label{sec:second}
\subsection{Firstofsecond}
\label{sec:firstofsecond}
Text.
\subsection{Secondofsecond}
\label{sec:secondofsecond}
But now I'm refering to »Firstofsecond« and my readers do not need the
full reference (\ref{sec:firstofsecond}), simply »I.« would be sufficient.
From here a reference to »first of second / second« should look like
this: »1.« and not \ref{sec:first-second-second}
\subsubsection{First of second / second}
\label{sec:first-second-second}
text.
\end{document}
不幸的是,有一個錯誤(檔案名稱:kurze-verweise-mwe.tex):
./kurze-verweise-mwe.tex:134: Missing number, treated as zero.
<to be read again>
I
l.134 ...ence like this: \ref{sec:secondofsecond}.
./kurze-verweise-mwe.tex:134: Missing = inserted for \ifnum.
<to be read again>
這裡有人有時間並且有興趣為這兩個示例之一找到解決方案嗎?
答案1
理論上這並不是很難。您可以使用 zref 儲存標籤的節、子節等的所有各種值,然後您只需測試它們的值並與當前值進行比較並決定應該發生什麼。
在實踐中,如果你真的想對所有級別都這樣做,可能會有點煩人,因為有相當多的測試,而且通常需要一張大紙才能正確地完成所有分支(我從來沒有在第一次嘗試時這樣做) 。
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext}
\setcounter{secnumdepth}{5} % fünf Ebenen
\renewcommand*{\thesection}{\Alph{section}.}
\renewcommand*{\thesubsection}{\Roman{subsection}.}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
\renewcommand*{\theparagraph}{\alph{paragraph})}%)
\renewcommand*{\thesubparagraph}{\alph{subparagraph}\alph{subparagraph})}
\usepackage{zref-user,zref-counter}
\usepackage{expl3}
\makeatletter
\zref@newprop{section}[1]{\the\c@section}
\zref@newprop{subsection}[1]{\the\c@subsection}
\zref@addprop{main}{section}
\zref@addprop{main}{subsection}
\ExplSyntaxOn
\newcommand\myref[1]{%
\hyperref[#1]{
\int_compare:nTF
{
\zref@extractdefault {#1} {section} {0} = \the\c@section
}
{
%ref is from current section
\int_compare:nTF
{\zref@extractdefault {#1} {subsection} {0} = 0 }
{Was~nun?}
{\int_to_Roman:n{\zref@extractdefault {#1} {subsection} {0}}.}
}
{
%ref is from other section
\int_to_Alph:n {\zref@extractdefault {#1} {section} {0}}.
\int_to_Roman:n {\zref@extractdefault {#1} {subsection} {0}}
}}}
\ExplSyntaxOff
\makeatother
%\usepackage{xcolor}
\usepackage[]{hyperref}
\newcommand\Label[1]{\zlabel{#1}\label{#1}}
\begin{document}
\section{First}
\Label{sec:first}
I'm refering to the second section and I'd like to have a full
reference like this: \myref{sec:secondofsecond}.
\section{Second}
\Label{sec:second}
\myref{sec:secondofsecond}, \myref{sec:first}, \myref{sec:second}
\subsection{Firstofsecond}
\Label{sec:firstofsecond}
Text.
\subsection{Secondofsecond}
\Label{sec:secondofsecond}
\end{document}
答案2
你知道嗎汝拉套餐?儘管它相當古老且不受支持,但它提供了您繪製的精細等級結構(甚至進一步下降到由 α) β) 和 αα) ββ) 指示的等級
jura
編輯:請注意,引入的文檔標記(或包含級別結構的文檔標記\usepackage{alphanum}
)與通常的 LaTeX 切片命令(如\section
等)不相容。您應使用、、 和 的jura
切片樣式。\toc
\sub
\levelup
答案3
這回答的烏爾里克·費雪向我展示了方法,經過一整天的研究,我找到了以下解決方案。
這可能是您讀過的最低級別的編碼,因此請注意。如果有人提出更好的解決方案:很好!
但如果沒有 Ulrikes 的慷慨幫助,這是不可能的,非常感謝!
有些評論是德語的,抱歉,現在已經太晚了,我懷疑明天我是否能理解我今天寫的內容!啊,註解中各種無用的「(」是為了讓 Emacs 高興,否則就無法匹配「{」和「}」。
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext}
\setcounter{secnumdepth}{5} % fünf Ebenen
\renewcommand*{\thesection}{\Alph{section}.}
\renewcommand*{\thesubsection}{\Roman{subsection}.}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
\renewcommand*{\theparagraph}{\alph{paragraph})}%)
\renewcommand*{\thesubparagraph}{\alph{subparagraph}\alph{subparagraph})}
\usepackage{zref-user, zref-counter}
\usepackage{expl3}
\makeatletter
\zref@newprop{section}[1]{\the\c@section}
\zref@newprop{subsection}[1]{\the\c@subsection}
\zref@newprop{subsubsection}[1]{\the\c@subsubsection}
\zref@newprop{paragraph}[1]{\the\c@paragraph}
\zref@newprop{subparagraph}[1]{\the\c@subparagraph}
\zref@addprop{main}{section}
\zref@addprop{main}{subsection}
\zref@addprop{main}{subsubsection}
\zref@addprop{main}{paragraph}
\zref@addprop{main}{subparagraph}
\ExplSyntaxOn
\newcommand\myref[1]{%
\hyperref[#1]{%
\int_compare:nTF
{% A.-Ebene prüfen: sind wir auf dem gleichen Zweig?
\zref@extractdefault {#1} {section} {0} = \the\c@section
}
{ % Ja, wir sind auf dem gleichen Zweig
% Existiert eine weitere Ebene?
\int_compare:nTF
{\zref@extractdefault {#1} {subsection} {0} = 0}
% Wenn subsection 0 ist, also nicht existiert, dann muss section ausgegeben
% werden.
{
% \emph{Fehlerhafter Verweis}
\int_to_Alph:n {\zref@extractdefault {#1} {section} {0}}.
}
% Wenn dagegen subsection existiert, dann geht die Prüfung weiter:
{
% OK, weitere ebene existiert.
\int_compare:nTF % I.-Ebene
{
\zref@extractdefault {#1} {subsection} {0} = \the\c@subsection
}% Sind wir auf der gleichen I.-Ebene?
{% I.-Ebene: Gleiche Ebene
% Prüfung: gibt es eine weitere Ebene?
\int_compare:nTF
{\zref@extractdefault {#1} {subsubsection} {0} = 0}
{% Wenn 0, dann keine weitere Ebene und subsection ausgeben:
\int_to_Roman:n {\zref@extractdefault {#1} {subsection} {0}}.
}
{% OK, weitere Ebene existiert
\int_compare:nTF % subsubsection-Ebene
{% 1.-Ebene prüfen
\zref@extractdefault {#1} {subsubsection} {0} = \the\c@subsubsection
}
{% 1.-Ebene ist gleich
%Prüfung: gibt es eine weitere Ebene?
\int_compare:nTF % Gibt es eine a-Ebene?
{\zref@extractdefault {#1} {paragraph} {0} = 0}
{% Wenn 0, dann keine weitere Ebene und subsubsection ausgeben:
\int_to_arabic:n { \zref@extractdefault {#1} {subsubsection} {0}}.
}
{% Paragraph existiert:
\int_compare:nTF % a-Ebene prüfen
{
\zref@extractdefault {#1} {paragraph} {0} = \the\c@paragraph
}
{% a-Ebene ist gleich
% Prüfung: aa-Ebene vorhanden?
\int_compare:nTF %
{ \zref@extractdefault {#1} {subparagraph} {0} = 0}
%
{%( damit emacs happy ist
\int_to_alph:n {\zref@extractdefault {#1} {paragraph} {0} })
}
{% aa-Ebene vorhanden
\int_compare:nTF
{\zref@extractdefault {#1} {subparagraph} {0} = \the\c@subparagraph}
{\emph{Fehlerhafter VERWEIS}}
%( make emacs happy
{\int_to_alph:n { \zref@extractdefault {#1} {subparagraph} {0} }
\int_to_alph:n { \zref@extractdefault {#1} {subparagraph} {0} })
}
}
}
{% a-Ebene ist unterschiedlich (
\int_to_alph:n{\zref@extractdefault {#1} {paragraph} {0}})
}
}
}
{% 1.-Ebene ist unterschiedlich
\int_to_arabic:n{\zref@extractdefault {#1} {subsubsection} {0}}.
}
}% 3. Klammer Prüfung, ob subsection existiert (also wenn ja)
}
{% I.-Ebene: ungleich
% Also römische Nummer ausgeben
\int_to_Roman:n{\zref@extractdefault {#1} {subsection} {0}}.%
\int_compare:nTF%existiert die nächste Ebene?
{ \zref@extractdefault {#1} {subsubsection} {0} = 0 }
{}% = 0, subsubsection nicht vorhanden
{% ungleich 0
% also arabische Zahl ausgeben
\int_to_arabic:n { \zref@extractdefault {#1} {subsubsection} {0}}.
\int_compare:nTF%existiert die nächste Ebene paragraph?
{ \zref@extractdefault {#1} {paragraph} {0} = 0 }
{}% = 0, subsubsection nicht vorhanden
{% ungleich 0 (
\int_to_alph:n { \zref@extractdefault {#1} {paragraph} {0}})
}
% subpar Ebene vorhanden?
\int_compare:nTF
{ \zref@extractdefault {#1} {subparagraph} {0} = 0}
{}% ja, also existiert subpar nicht
{ %(
\int_to_alph:n {\zref@extractdefault {#1} {subparagraph} {0}}
\int_to_alph:n {\zref@extractdefault {#1} {subparagraph} {0}})
}
}
}% 3. Klammer I.-Ebene
}% 3. Klammer Prüfung, ob I. Ebene besteht.
}% 2. Klammer A.-Ebene
{% A.-Ebene: Ungleich
%ref is from other section
\int_to_Alph:n {\zref@extractdefault {#1} {section} {0}}.
\int_compare:nTF%existiert die nächste Ebene?
{ \zref@extractdefault {#1} {subsection} {0} = 0 }
{}% ja, erfüllt, keine subsection
{% subsection existiert:
\int_to_Roman:n {\zref@extractdefault {#1} {subsection} {0}}.
\int_compare:nTF%existiert die nächste Ebene?
{ \zref@extractdefault {#1} {subsubsection} {0} = 0 }
{}% = 0, subsubsection nicht vorhanden
{% ungleich 0
\int_to_arabic:n { \zref@extractdefault {#1} {subsubsection} {0} }.
\int_compare:nTF%existiert die nächste Ebene paragraph?
{ \zref@extractdefault {#1} {paragraph} {0} = 0 }
{}% = 0, paragraph nicht vorhanden
{% ungleich 0 (
\int_to_alph:n { \zref@extractdefault {#1} {paragraph} {0} })
\int_compare:nTF
{ \zref@extractdefault {#1} {subparagraph} {0} = 0}
{}% ja, also existiert subpar nicht
{% (
\int_to_alph:n {\zref@extractdefault {#1} {subparagraph} {0}}
\int_to_alph:n {\zref@extractdefault {#1} {subparagraph} {0}})
}
}
}
}
}% 3. Klammer A.-Ebene
}% hyperref Klammer zu
}%Ende Befehlsdefinition myref
\ExplSyntaxOff
\makeatother
\usepackage[]{hyperref}
\newcommand\Label[1]{\zlabel{#1}\label{#1}}
\begin{document}
\textbf{Präambel}
\begin{enumerate}
\item Reference to first section: \myref{sec:first}
\item Reference to second section: \myref{sec:second}
\item Reference to snd section / first subsection: \myref{sec:firstofsecond}
\item Ref. to snd sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to snd sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to snd sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
\section{First}
\Label{sec:first}
Sytematically:
\begin{enumerate}
\item Reference to this section should display a warning: \myref{sec:first}.
\item Reference to next section: \myref{sec:second}
\item Reference to next section / first subsection: \myref{sec:firstofsecond}
\item Ref. to next sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to next sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to next sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
\section{Second}
\Label{sec:second}
Sytematically:
\begin{enumerate}
\item Reference to previous section: \myref{sec:first}.
\item Reference to this section should display a warning: \myref{sec:second}
\item Reference to this section / first subsection: \myref{sec:firstofsecond}
\item Ref. to this sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to this sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to this sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
\subsection{Firstofsecond}
\Label{sec:firstofsecond}
Sytematically:
\begin{enumerate}
\item Reference to previous section: \myref{sec:first}.
\item Reference to this section: \myref{sec:second}
\item Reference to this section / first subsection: \myref{sec:firstofsecond}
\item Ref. to this sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to this sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to this sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
\subsection{Secondofsecond}
\Label{sec:secondofsecond}
Now down the tree:
\subsubsection{first of second.second}
\Label{CLA:first-second.second}
Just some letters.
\paragraph{first-paragraph}
\Label{CLA:first-paragraph}
And more text. Ref to next paragraph, should be a b): \myref{CLA:second-paragr}
\begin{enumerate}
\item Reference to previous section: \myref{sec:first}.
\item Reference to this section: \myref{sec:second}
\item Reference to this section / first subsection: \myref{sec:firstofsecond}
\item Ref. to this sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to this sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to this sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
\paragraph{second paragr}
\Label{CLA:second-paragr}
\begin{enumerate}
\item Reference to previous section: \myref{sec:first}.
\item Reference to this section: \myref{sec:second}
\item Reference to this section / first subsection: \myref{sec:firstofsecond}
\item Ref. to this sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to this sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to this sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\end{enumerate}
\subparagraph{first sub}
\Label{CLA:first-sub}
\begin{enumerate}
\item Reference to previous section: \myref{sec:first}.
\item Reference to this section: \myref{sec:second}
\item Reference to this section / first subsection: \myref{sec:firstofsecond}
\item Ref. to this sect. / second subsect: \myref{sec:secondofsecond}
\item Ref to this sect. / second subsect / first arabic:
\myref{CLA:first-second.second}
\item Ref. to this sect. / second subsect / first arabic / second par:
\myref{CLA:second-paragr}
\item Subparagraph: \myref{CLA:first-sub}
\end{enumerate}
dsfsdf
\subsubsection{Last one}
\Label{CLA:last-one}
text
\paragraph{paragraph somewhere}
\Label{CLA:paragraph-somewhere}
OK, the par above should display a). And now we refer to the next subpar:
\myref{CLA:second-subpar}.
And now a subpar:
\subparagraph{second subpar}
\Label{CLA:second-subpar}
text
\subparagraph{third subpar}
\end{document}