\documentclass{article}
\usepackage{linguex}
\begin{document}
\ex. Some Example French sentence \hfill(French)\\
This is the gloss\\
`the interpretation'
\exg. Some Example French sentence \hfill(French)\\
This is the gloss\\
`the interpretation'
\end{document}
Das (Französische) in Beispiel 2 soll rechtsbündig sein; genau wie im ersten Beispiel.
Es scheint einen Konflikt mit derexgBefehl. Jede Hilfe bitte
Antwort1
Der \exg
Befehl ist viel komplizierter als \eg
, da er den Text analysiert, um die Wörter zweier Zeilen horizontal auszurichten.
Einige TeX-Engines (pdfTeX, LuaTeX, XeTeX) unterstützen die Funktion „savepos“. Sie ermöglicht es, die aktuelle Position (Einheit ist sp) in der Datei aufzuzeichnen, .aux
um sie beim nächsten TeX-Lauf auszuwerten.
Das folgende Beispiel verwendet diese Funktion zusammen mit zref
, einem Paket, das ein flexibleres Label-/Ref-System als das Standard- \label
/ \ref
bietet.
\RequirePackage{ifluatex}
\ifluatex
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
\fi
\documentclass[twoside]{article}
\usepackage[
a6paper,
landscape,
vmargin=1cm,
includeheadfoot,
showframe, % for reviewing
]{geometry}
\usepackage{linguex}
\usepackage{zref-savepos}
\makeatletter
\zref@newprop*{PageValue}[1]{\the\c@page}%
% Counter
\newcount\eolpos@cnt
\eolpos@cnt=\z@
\newcommand*{\eolpos@label}{eolpos\the\eolpos@cnt}
\newcommand*{\eolpos}{}
\protected\def\eolpos#1{%
\leavevmode
\rlap{%
% Unique label names
\global\advance\eolpos@cnt\@ne
% Save the current horizontal position along
% with the value of the page counter
\zref@savepos
\zref@labelbyprops{\eolpos@label}{posx, PageValue}%
% Measure part
\sbox\z@{#1}%
\dimen@=\z@
\zifrefundefined{\eolpos@label}{%
}{%
\dimen@=\dimexpr
\expandafter\ifx\csname pdfhorigin\endcsname\relax
1in%
\else
\pdfhorigin
\fi
+%
\ifodd\zref@extractdefault{\eolpos@label}{PageValue}\@ne
\oddsidemargin
\else
\evensidemargin
\fi
+\textwidth
-\wd\z@
-\zref@extractdefault{\eolpos@label}{posx}{0}sp%
\relax
}%
% Set space
\ifdim\dimen@<\z@
\typeout{`eolpos` warning: Text sticks to the left by \the\dimen@}%
\fi
\kern\dimen@
% Place user text
\usebox\z@
}%
}
% \z@ = 0 or 0pt
% \@ne = 1
% \dimen@ = \dimen0
\makeatother
\begin{document}
\ex. Some Example French sentence \hfill(French)\\
This is the gloss\\
`the interpretation'
\exg. Some Example French sentence \eolpos{(French)}\\
This is the gloss\\
`the interpretation'
\newpage
\ex. Some Example French sentence \hfill(French)\\
This is the gloss\\
`the interpretation'
\exg. Some Example French sentence \eolpos{(French)}\\
This is the gloss\\
`the interpretation'
\end{document}
Seite 1:
Seite 2:
Antwort2
\hfill funktioniert nur auf demdritte Zeilevon glossierten Beispielen mit Linguex, was für Sie eine Option sein könnte. Alternativ hat Brian Buccola auf seiner Website einen WorkaroundHier.