• 3

calibre portable 轉換書本排版格式問題請教(已解決)

j800930 wrote:
縮排的話,用?
我對電子書的規範沒特別研究...
如果完全不管xml的話...
懶人我會直接用規則:
([??!!。])\s+([^"“」])
取代成
\1\n\t\2

\s代表所有空白字元,+代表該字元至少出現1次、沒上限;
\n換行
\t縮排

以上還考慮到了文章中出現:
?^*#$#@&#
這種國罵的的狀況,
一般來說中間是不會有空白字元出現的...
所以他不會被誤斷行...

(01很雞婆,後面是他硬補的...)



大大說得很詳細,可是小弟嘗試後沒效果
代表小弟有看沒有懂理解錯了




請大大把小弟當笨蛋教
可用記事本打完抓圖就不會有問題了

一遇。(或其它標點符號)自動分行這個已經解決了
先不考慮其它奇奇怪怪的,先解決最簡單的
除了ren1244大大教的<br>後面加全形空格這個方法之外
縮排該如何設定才能自動退2個中文字
j800930

嗯,全部改用截圖了,另外你的小說我收下了[偷笑]是整本嗎?

2022-09-16 14:01
chiaming978
chiaming978 樓主

我沒傳整本,只有前100章提供測適用,想看去啃書網一大堆

2022-09-16 14:17

我預期你應該這樣輸入。

不過我這次實際下載你提供的兩個檔案做了測試,
發現你是匯入txt後,對匯入的txt進行轉換。

我的偷懶規則
([??!!。”])\s*([^"“」])

\1\n\t\2
需要你在"匯入前"就先使用其他任意"支援正則表達式取代的編輯器"做好轉換:


然後,你用來閱讀的程式要用"等寬字型",
\t的縮排才會精準的空4個半形的位置:

設置字型
縮排位置才會準


另外,像你最原始的第一個檔案那樣:
轉完你會發現你的縮排是4個半形空白和tab混雜使用的...



那麼你就需要再對表達式進行調整:



\n是匹配換行符
另外\r、\n、的區別你可以自己google一下...
因為我不是用M$...你要自己確認他換行的行為是否正常...
不正常的話你要把我文章裡所有的\n都改成
而[]中單個字元匹配改成對\r作匹配:
([??!!。”\r])\s*([^"“」])



最後,這是附贈的;
\t\S*啃書小說網\S*。
取代為無(取代格什麼都不打)

j800930

此留言已加進本文,故刪

2022-09-16 13:45
chiaming978
chiaming978 樓主

辛苦大大了,先加分再來研究看看

2022-09-16 14:20
縮排的部分,我的意思是這樣
  1. 介面外觀 > 配置 > 縮排大小設定為 2.0 em
  2. TXT 輸入 > 一般 > 選擇移除列開頭的空白

這樣做的話,段落一開始會空2個字
但是由於 br 只是純換行,而不算段落的起始點
所以 br 要再改過

其實我要弄的話,會先寫個程式處理文字檔
解析標點符號轉成較標準的格式再丟到 calibre
拍謝,出包了,
因應你的最原始的txt我重寫了兩份表達式,
請照順序使用:
([??!!。”"」\r])\s+(\S)
\1\t\2



(\t以下是)?啃書小說網\S*

取代完之後,
如果你真的是用calibre的閱讀器看的話,
你匯入TXT為電子書後,
要記得先轉換EPUB再看,
不然他看起來會沒有縮排。

樓上我的舊文我就不再修改了...
表達式的說明還是對的,
留著給你研究。
j800930

我挑的連結那個中文說明應該蠻詳細的啊?你有試試照他解釋的先玩一下Notepad++嗎?

2022-09-17 15:38
j800930

雖然他沒翻譯全部語法,像group、()的 $ℕ, ${ℕ}, ℕ,他就只挑了 $ℕ

2022-09-17 15:55
j800930 wrote:
然後,你用來閱讀的程式要用"等寬字型",
\t的縮排才會精準的空4個半形的位置:

設置字型



疑問一 : 請問這個設置字型
也是calibre軟體功能選項嗎?如果是的話,要如何點選可以跑出來這個選項

疑問二 :
按照大大的方法設定


轉換完變成這樣


可縮排但卻退後了4個中文字,要如何更改設定才能變退後2個中文字

疑問三:
\t\S*啃書小說網\S*。\ r \ n


大大提供的這功能,本人猜應該是把這些多餘的廣告去除
但怎麼沒效果???
附件是下午寫的,用來格式化文字檔的程式
解壓縮後,把 index.html 用瀏覽器開啟就可以使用了
(縮排再用 13F 的方式處理,不要自己加空白)

功能簡述

  1. 判斷是不是在引號內的句號,如果不是在引號內才換行
  2. 加上轉換引號的功能,第一層引號會變成 「」,第二層之後會用『』
  3. 一些半形的標點符號轉成全形


附件 [點擊下載]

PS. 原本想加上繁簡轉換的,但是怕加上後樓主比較難修改,就沒加了。
chiaming978
chiaming978 樓主

強,還能寫程式解決問題,不得不佩服,大大給的這個真的超實用

2022-09-16 18:15
疑問一:



疑問二:
我這個需要你事先取代完再匯入...
然後你的搜尋與取代就可以不用加入任何條件了

疑問三:
事先取代....

微軟的話,你就找個Notepad++之類的用吧。

表達式用14樓的,我上傳的圖都能點開放大。
chiaming978
chiaming978 樓主

了解,感謝大大的詳細說明與教導

2022-09-16 17:48
ren1244 wrote:
附件是下午寫的,用來格式化文字檔的程式
解壓縮後,把 index.html 用瀏覽器開啟就可以使用了
(縮排再用 13F 的方式處理,不要自己加空白)



強,還能寫程式解決問題,不得不佩服
大大給的這個真的超實用

總結
先用大大給的這個程式排版
再用 13F 的方式處理縮排問題
就完美解決小弟發問的問題了


不過還是有個疑問要請教大大一個程式的問題
這個儲存的作用是???


存檔的檔案打開是這樣

亂七八糟,變成和本人一開始問題二那樣了

目前只能用
ctrl+a 全選
ctrl+v 複製
貼上一個新記事本,然後存檔
j800930

因為你是win7...你的換行符是rn也就是樓下說的CRLF

2022-09-16 22:41
j800930

我還真是剛知道現在win10也支援了...

2022-09-16 22:42
chiaming978 wrote:
存檔的檔案打開是這樣
亂七八糟,變成和本人一開始問題二那樣了


這是因為舊版記事本是用 CRLF 作為換行符號
但我程式是用 LF 作為換行符號
其實這兩種 calibre 都能正確讀取
windows 10 某次更新後,記事本也變成兩種都能讀取了,不過看起來你 windows 是比較舊版的

新的程式(如附件)有多加一個選項
可以選擇要不要用傳統記事本的格式

附件:[點擊下載]
chiaming978
chiaming978 樓主

原來如此,時代一直在進步,但不得不佩服,感謝大大的說明與改善

2022-09-17 1:29
如果你願意學Vim的話,可以參考...



右邊命令照順序取代完只會剩下左邊那種一整段莫名其妙手動刪除還比較快的...
(_是代表半形空白)

不過我想你大概已經只想用ren1244大的現成js工具了吧...有緣再見
chiaming978
chiaming978 樓主

連最基本的小弟都搞不定了還誤解斷章取義,大大還推薦另一個感覺更高級的武功秘籍,小第心領了也清楚大大教我教得很辛苦,反正問題也解決,感恩啦

2022-09-18 3:00
  • 3
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?