Paket acro, Wortgeschlecht feminin und maskulin im Französischen

Paket acro, Wortgeschlecht feminin und maskulin im Französischen

Ich schreibe ein Dokument auf Französisch und muss mich mit Geschlechtsformen von Wörtern im acroPaket befassen. Ich möchte etwas wie

tridimensionnelles (3D) (eine weibliche Form) oder bidimensionnel (2D) (für eine männliche Form)

Mit dem Code:

\documentclass[12pt,twoside,openright]{book}
\usepackage[version=3]{acro} %list of abbreviations

\acsetup{
    list/template = longtable,
    list/display = used,
    uppercase/list,
    format/alt
}
\DeclareAcronym{2d}{
    short   = 2D,
    long    = bidimensionnel,
    alt-format = tridimensionnelles}
\DeclareAcronym{3d}{
    short   = 3D,
    long    = tridimensionnel,
    alt = tridimensionnelles}

\begin{document}
\ac{2d} is masculine gender form.
\newline
\aca{3d} is the feminine gender form, but there is not the short form (3D).
\end{document}

Ich kann Texte produzieren wie

Bildbeschreibung hier eingeben

Aber das 3D in den Klammern wird nicht angezeigt.

Habt ihr Ideen, wie man mit dem acroPaket auf Geschlechterformen eingehen kann?

Antwort1

acroverfügt über Schnittstellen zum Definieren beliebiger neuer Eigenschaften mit \DeclareAcroPropertyund neuer Befehle mit\NewAcroCommand in der Dokumentation in den Abschnitten detailliert beschrieben werden.29. EigenschaftenUnd30. Eigene Akronym-Befehle.

Ich denke jedoch, dass es zum Definieren mehrerer Eigenschaften und einer internen Schnittstelle \DeclareAcroEndingleicht missbraucht werden kann, um gute Ergebnisse zu erzielen. \DeclareAcroEnding{feminine}{}{}Definitionen *-feminineund *-feminine-formÄquivalente zu *-pluralund *-plural-formsind alle zunächst leer. Wo sich die weibliche Form durch Buchstaben unterscheidet, die an die männliche Form angehängt werden, long-feminine=leskann gesetzt werden, oder wo sie sich wesentlicher unterscheidet, long-feminine-form=tridimensionelleskann verwendet werden, um sie in ihrer Gesamtheit anzugeben.

Dann müssen wir neue -Varianten hinzufügen, \acum diese Eigenschaften anzuwenden, z. B.

\NewAcroCommand \acF {m}
  { \acrofeminine \UseAcroTemplate {first} {#1} }
\NewAcroCommand \AcF {m}
  { \acrofeminine \acroupper \UseAcroTemplate {first} {#1} }

(Hinweis: Ich verwende, Fum Konflikte mit den bereits vorhandenen zu vermeiden\acf -type-Befehlen zu vermeiden, die das vollständige Erscheinungsbild erzwingen). Andere Varianten müssen einzeln explizit definiert werden, können aber auf den gefundenen Definitionen basieren.in der Quelle.

\documentclass[12pt,twoside,openright]{book}
\usepackage{acro}[=v3]

\DeclareAcroEnding{feminine}{}{}

\DeclareAcronym{2d}{
    short   = 2D,
    long    = bidimensionnel,
    long-feminine=les,
}
\DeclareAcronym{3d}{
    short   = 3D,
    long    = tridimensionnel,
    long-feminine-form=tridimensionnelles,
}

\NewAcroCommand \acF {m}
  { \acrofeminine \UseAcroTemplate {first} {#1} }
\NewAcroCommand \AcF {m}
  { \acrofeminine \acroupper \UseAcroTemplate {first} {#1} }

\begin{document}
\ac{2d} \acreset{2d} \acF{2d}

\acF{3d} \acreset{3d} \ac{3d}

\printacronyms[heading=none]
\end{document}

Codeausgabe

Für den weiblichen Plural müssen wir meiner Meinung nach eine separate Endung \DeclareAcroEnding{feminineplural}{s}{s}mit demselben Standard wie für die pluralEndung deklarieren. Leider sehe ich nicht, wie wir die feminineEndungen erben können, daher wird dies einige Duplikate erfordern, selbst wenn der Plural nur ein s anhängt.

\documentclass[12pt,twoside,openright]{book}
\usepackage{acro}[=v3]

\DeclareAcroEnding{feminine}{}{}
\DeclareAcroEnding{feminineplural}{s}{s}

\DeclareAcronym{2d}{
    short   = 2D,
    long    = bidimensionnel,
    long-feminine=les,
    long-feminineplural=less
}

\NewAcroCommand \acpF {m}
  { \acrofeminineplural \UseAcroTemplate {first} {#1} }

\begin{document}
\acp{2d} \acreset{2d} \acpF{2d}

\printacronyms[heading=none]
\end{document}

Codeausgabe


Es ließe sich wahrscheinlich eine etwas schönere Schnittstelle als die ausgenutzte \DeclareAcroEndingerstellen, allerdings nicht ohne viel Boilerplate-Code oder ohne Abhängigkeit von der expl3Schnittstelle.

Antwort2

Wenn ein Akronym zwei beliebig unterschiedliche Formen annehmen kann (sei es in einer oder allen der Formen Kurz/Lang/Vorname/Plural usw.), besteht die einfache Lösung darin, zwei eng miteinander verbundene Akronyme zu definieren.

Deruselist Eigenschaft eines Akronyms ermöglicht es, 2ddass 2dBAkronyme 2dsich selbst als verwendet betrachten, wenn 2dBsie verwendet wurden, auch wenn dies nicht der Fall ist, und umgekehrt.

\DeclareAcronym{2d}{
    short   = 2D,
    long    = bidimensionnel,
    uselist = {2dB},
}
\DeclareAcronym{2dB}{
    short   = 2D,
    long    = bidimensionnelB,
    uselist = {2d},
}

Die beiden Akronyme können sich beliebig stark oder wenig unterscheiden (bei Bedarf sogar überhaupt nicht) und haben innerhalb des Textes keine gemeinsame Erstverwendung. Dies kann bei Bedarf auf eine beliebige Anzahl von Akronymen ausgedehnt werden.

Allerdings sind bei der Kombination von Akronymen auf diese Weise einige Einschränkungen zu beachten:

  • Das Zurücksetzen der Verwendung bleibt lokal für das Akronym und \acreset{2d}wird nur zurückgesetzt 2d, wenn es, falls es verwendet wurde, 2dBweiterhin verwendet wird.

  • \acsetup{single=true}führt zu unerwartetem Verhalten, wenn beide verwendet werden, aber einer von beiden nur einmal verwendet wird.

  • Da wir zwei Akronyme haben, \printacronymswerden beide aufgelistet, es sei denn, ihre Listenform ist identisch (z. B. wenn sie eine Kurz-/Langform haben, sich aber in den Pluraleigenschaften unterscheiden). Dies kann gelöst werden, indem eines der Akronyme markiert und excludein\printacronyms

    \DeclareAcronym{2d}{
        short   = 2D,
        long    = bidimensionnel,
        uselist = {2dB},
    }
    \DeclareAcronym{2dB}{
        short   = 2D,
        long    = bidimensionnelB,
        uselist = {2d},
        tag = {B-form},
    }
    
    \begin{document}
    \ac{2d}    
    \ac{2dB}
    
    \printacronyms[heading=none,exclude={B-form}]
    \end{document}
    

    Allerdings kann auch dies unerwartete Folgen haben, wenn es nur 2dBim Dokument verwendet und \acsetup{list/display=used}festgelegt wird.

verwandte Informationen