linguex で例をイタリック体にする

linguex で例をイタリック体にする

を使用して例を自動的に斜体にする方法を教えていただけますかlinguex? 注釈付きの例の最初の行については、すでにここで説明されており、問題なく動作します。他の環境の例 (\ex.および) にも斜体フォントが必要です。また、、サブリストなど\exi.のすべての行にも斜体フォントが必要です。\a.\b.

答え1

これは、コードを調べずに行うのは非常に困難です。コードlinguexにはこのような設定がないためです。ここでは、うまくいく方法の 1 つを紹介します。\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}

コードの出力

関連情報