この質問形式を定期的にLaTeXに変換してください。

この質問形式を定期的にLaTeXに変換してください。
1. Lorem ipsun la la la?
1. Sopor
2. Stupor
3. Torpor

2. A patient has Lorem?
1. Sopor
2. Stupor
3. Somnolentia 
4. La
5. Coma

3. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. What disorder of consciousness does he have?
1. Stupor
2. Sopor
3. Somnolentia 
4. Euphoria
5. Coma

... [777 questions]

私は〜になりたい

l. Lorem ipsun la la la?
\begin{enumerate}
\item Sopor
\item Stupor
\item Torpor
\end{enumerate}    

2. A patient has Lorem?
\begin{enumerate}
\item Sopor
\item Stupor
\item Somnolentia 
\item La
\item Coma
\end{enumerate}

3. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. What disorder of consciousness does he have?
\begin{enumerate}
\item Stupor
\item Sopor
\item Somnolentia 
\item Euphoria
\item Coma
\end{enumerate}

いくつかのメモ

  • 3〜5つの回答オプションがあります。
  • これらの変更を実行するための最良の順序はわかりません。
  • リストは1.[ A-Za-z123345679.]*5.\n次のように置き換える必要があります。\n\begin{enumerate}[match]\end{enumerate}\n
    • 失敗した場合は、 1.[ A-Za-z123345679.]*4.\n次のように交換する必要があります。\n\begin{enumerate}[mathch]\end{enumerate}\n
    • 失敗した場合は、1.[ A-Za-z123345679.]*3.\n次のように交換する必要があります。\n\begin{enumerate}[mathch]\end{enumerate}\n

これを行うには、どのコマンドラインツールを使用する必要がありますか? Perlについて考えましたが、よくわかりません。


ちょうどファイルの内容をキャプチャすると、ビューアが期待したものとは異なる出力が生成されることを確認しました。私は現在、Perl v5.16.2で最新のOSXを使用しています。

これはテストファイル

入力、コマンド、出力

$ cat questions_copy.tex 
1. Lorem ipsun la la la?
1. Sopor
2. Stupor
3. Torpor

2. A patient has Lorem?
1. Sopor
2. Stupor
3. Somnolentia 
4. La
5. Coma

% STRANGE cat output here - Not correct!
3. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. Doesn't Response to strong external irritants is short. Tendon, 3. Somnolentia eal reflexes are retained. What disorder of consciousness does he have?
5. Comaoria
% PERL do the same mistakes
$ perl -000pe 's/\n/\n\\begin{enumerate}\n/; s/\n\d./\n\\item /g; s/$/\\end{enumerate}\n/' questions_copy.tex 
1. Lorem ipsun la la la?
\begin{enumerate}
\item  Sopor
\item  Stupor
\item  Torpor
\end{enumerate}

2. A patient has Lorem?
\begin{enumerate}
\item  Sopor
\item  Stupor
\item  Somnolentia 
\item  La
\item  Coma
\end{enumerate}

3. Doesn't Response to strong external irritants is short. Tendon, pupillary, corneal reflexes are retained. Doesn't Response to strong external irritants is short. Tendon, 3. Somnolentia eal reflexes are retained. What disorder of consciousness does he have?
\begin{enumerate}
5. Coma\end{enumerate}

$ 

ベストアンサー1

これは一つの方法です。これは、質問が連続した改行()で区切られていると仮定します\n\n

$ perl -000pe 's/\n/\n\\begin{enumerate}\n/; 
                s/\n\d./\n\\item /g; s/$/\\end{enumerate}\n/' file 
l. Lorem ipsun la la la?
\begin{enumerate}
\item  Sopor
\item  Stupor
\item  Torpor
\end{enumerate}

2. A patient has Lorem?
\begin{enumerate}
\item  Sopor
\item  Stupor
\item  Somnolentia 
\item  La
\item  Coma\end{enumerate}

説明する

  • -000: パール活性化短絡モード、2つの連続した改行文字()で「行」を定義するため、\n\n各質問は1行と見なされます。
  • -pne:入力ファイルの各行を読み、-p()に渡されたスクリプトを適用して印刷します-e
  • s/\n/\n\\begin{enumerate}\n/:行(質問)の最初の改行文字をに置き換えます\begin{enumerate}\n
  • s/\n\d./\n\\item /gg:改行文字の後のすべての()数字を改行文字に置き換え、\itemその後にスペースが続きます。
  • s/$/\\end{enumerate}\n/':レコードの終わりを改行文字($)で置き換えます。\end{enumerate}

おすすめ記事