誰能告訴我如何使用自動將範例變為斜體linguex
?第一行帶有註釋的範例已經在這裡討論過並且工作得很好。我也需要其他環境中的範例使用斜體字體(\ex.
和),以及、子列表等\exi.
的所有行。\a.
\b.
答案1
如果不深入研究程式碼,這是很難做到的,因為linguex
沒有為此設定。這是一種有效的方法。我製作了一個新的巨集\examplefont
來設定範例的樣式(以便程式碼不會硬編碼斜體。我還設定\eachwordone
(光澤範例的第一行)使用相同的字體,但光澤行 ( \eachwordtwo
) 設定為直立字體要確保註釋項的意譯也是直立的,您需要使用宏\glt
。
\documentclass{article}
\usepackage{linguex}
\newcommand*{\examplefont}{\itshape} % change this as needed
\renewcommand{\eachwordone}{\examplefont} % make \eachwordone match
\renewcommand{\eachwordtwo}{\normalfont} % make gloss line upright
\renewcommand{\glt}{\normalfont} % use \glt for free translation
\makeatletter
\def\Exformat[#1]{%
\settowidth{\currentlabel}{#1}%
\begin{list}{\makebox[\labelwidth][l]{\normalfont#1}}{%
\setlength{\leftmargin}{\currentlabel}%
\listdecl%
\if@noftnote\relax\else\addtolength{\topsep}{-.5\topsep}\fi
\ifembedded\topsep=.3\Extopsep\else\topsep=\Extopsep\fi
}%
\ifindex\firstwordtrue\fi\item\examplefont{}}
\def\a.{\ifindex\firstwordtrue\fi
\ifnum\theExDepth=0 \unembeddedtrue
\trivex.\fi
\stepcounter{ExDepth}%refstepcounter replaced
\begin{list}{\makebox[\labelwidth][l]{\normalfont%
\ifnum\theExDepth=1 \SubExLBr\Exalph{ABC}\SubExRBr%
\else
\ifnum\theExDepth=2 %
\ifdim\currentlabel<\lessthanthousand%
\ifalignSubEx
\llap{\hbox to \alignSubExnegindent{\ifunembedded%
\SubExLBr\Exalph{SubExNo}\SubExRBr
\else\SubExlabel\fi\hss}}%
\else\SubExlabel\fi%
\else\ifunembedded%
\SubSubExLBr\Exroman{SubExNo}\SubSubExRBr
\else\SubExlabel\fi\fi
\else
\ifnum\theExDepth=3 %
\if@noftnote%\ifunembedded\mbox{$\bullet$!}\else
\SubSubExLBr\Exroman{SubSubExNo}\SubSubExRBr
%\fi
\else\Exarabic{SubSubExNo}\SubSubExRBr\fi
\fi\fi\fi}}%
{\labelsep\z@
\ifnum\theExDepth=2\topsep .3\Extopsep\else\topsep 0pt\fi
\parsep\z@\itemsep\z@
\ifnum\theExDepth=1 %
\usecounter{ABC}%
\settowidth{\currentlabel}{\ExLBr\Exarabic{ExNo}\ExRBr}%
\listdecl%
\else
\ifnum\theExDepth=2 %
\usecounter{SubExNo}%
\ifalignSubEx\ifdim\currentlabel<\lessthanthousand%
\leftmargin\z@\else\leftmargin=\SubExleftmargin\fi%
\else\leftmargin=\SubExleftmargin\fi%
\else
\ifnum\theExDepth=3 \usecounter{SubSubExNo}\fi
\leftmargin=\SubSubExleftmargin%
\fi
\labelwidth=\leftmargin%
\fi}%
\ifnum\theExDepth=1 \setlength{\Exlabelwidth}{4em}\fi%
%previous line added 2000/12/22
\b.}
\def\newb.{\ifindex\firstwordtrue\fi
\my@ifnextchar[{\newExitem}{\examplefont\item\testforgramm}}
\makeatother
\begin{document}
\ex.
\a.This is an example.
\b.Another example.
\a. Another one.
\b. Another other one.
\exg.
This is a glossed example\\
This is the gloss line\\
\glt`This is the translation'
\exi. This is an example.
\end{document}