Tíquete #27099

listings で 1 行目がレンダリングされないことがある

: 2012-01-10 21:03 Última Atualização: 2012-03-04 16:13

Relator:
(del#73928)
Dono:
(Nenhum)
Tipo:
Estado:
Fechado
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Nenhum
Arquivo:
Nenhum

Details

listings を使って、

\begin{lstlisting}{problem; 1st line not rendered --- 問題}
1st line
2nd line
\end{lstlisting}
のようにすると、1st line がレンダリングされない。

詳細な再現条件を、https://gist.github.com/1574793 に残した。

Ticket History (3/11 Histories)

2012-01-10 21:03 Updated by: (del#73928)
  • New Ticket "listings で 1 行目がレンダリングされないことがある" created
2012-01-10 21:36 Updated by: kmaeda
Comentário

試してみましたが,どうも lstlisting な環境の引数に和文文字が含まれていると起こるみたいです. 以下の Warning が出ています:

Package Listings Warning: Text dropped after begin of listing on input line 15.

2012-01-10 21:39 Updated by: h7k
Comentário

白筋の問題(チケット #27098)と共に,確認しました.

LuaTeX-ja の

JAchar (とグループ境界文字の連続)で終わる行には, 改行によって空白が入ることを防ぐために, 末尾にコメント文字 U+FFFFF を付加する

という仕様が裏目にでているようです.

とりあえず,こちらでは,

\begin{env}%
{p問}
#!/bin/bash
:
\end{env}
のように,引数の直前で(%つきで)するとうまくいっている感じがします.

2012-01-10 21:45 Updated by: kmaeda
Comentário

JAchar (とグループ境界文字の連続)で終わる行には,改行によって空白が入ることを防ぐために,末尾にコメント文字 U+FFFFF を付加する

ああ,なるほど.和文文字が「含まれていると」ではなくて「末尾にあると」が正しいのですね. 失礼しました.

2012-01-11 12:53 Updated by: (del#73928)
Comentário

コメントありがとうございます。こちらの場合、とりあえずの回避策(「\begin行の途中で改行」も含む)がわかっていたので、優先度は低めにしておいた方が良かったかも知れません。

2012-01-11 15:36 Updated by: h7k
Comentário

Package Listings Warning: Text dropped after begin of listing on input line 15.

同様の警告が

\begin{lstlisting}{hoge}a
1st line
2nd line
\end{lstlisting}
でも出ていることから,よくわかりませんが,次のようになっていると予想します.

コメント文字が付加された結果を見ると,

\begin{lstlisting}{problem; 1st line not rendered --- 問題}(U+FFFFF)
1st line
2nd line
\end{lstlisting}
となりますが,ここで,U+FFFFF はコメント文字なので(?),実際には
\begin{lstlisting}{problem; 1st line not rendered --- 問題}1st line
2nd line
\end{lstlisting}
と同じことになっている→「1st line」はいわば「同じ行」扱いになってしまうため出力されない.

U+FFFFF をコメント文字にしなければいいと思うので,次の hook を加えてみたところ,うまく動いている気がします:

\lst@AddToHook{PreSet}{\catcode"FFFFF=9 }

2012-01-11 17:02 Updated by: (del#73928)
Comentário

U+FFFFF をコメント文字にしなければいいと思うので,次の hook を加えてみたところ,うまく動いている気がします:

ありがとうございます。当面はこの方法を使うことにします。

2012-02-01 18:33 Updated by: h7k
Comentário

kitagawa_test ブランチ (snapshot (.tgz)) において, listings へのパッチを再設計してみました.

ロードに数秒程度かかり,メモリも余計に使ってしまいますが,こちらに入れ替えてみるとどうなるでしょうか?

2012-02-02 13:24 Updated by: (del#73928)
Comentário

お手数かけます。

この件は解決しましたが、別の問題が発生したようです。

ここには、単にログを貼ります。 https://gist.github.com/1574793#file_a_1jalua.log.luatexja_dc4f10c.nkf_w 後でチケットを発行します。

2012-02-02 14:25 Updated by: (del#73928)
Comentário

x19290 への返信

お手数かけます。 この件は解決しましたが、別の問題が発生したようです。

すみません、これは完全に僕の勘違いでした。

#27098 も直っているようですし、jlisting/pLaTeX の頃からあった、「コメント記号の直後は空白にしないといけない」制限も無くなっているようです。

贅沢を言うなら、日本語コメントの書体が「斜体」になると嬉しい、くらいでしょうか。

ありがとうございます。

2012-03-04 16:13 Updated by: h7k
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2012-03-04 16:13
Comentário

とりあえず落ち着いたようなので,完了とします.

Attachment File List

No attachments

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login