
我環顧四周,沒有找到這個問題的答案。我正在使用該changes
包,並且需要從來源文件中刪除所有標記。有這個問題關於使用delcmdchanges.bash,但遺憾的是它沒有得到答案。
我的問題是:為什麼腳本不起作用,有沒有辦法讓它運作?還有另一個腳本嗎? (希望也能在 Windows 機器上使用)
一些背景 - 我使用的是 lubuntu 16.04 機器。
我試圖從以下文件中刪除標記,但無濟於事:
\documentclass{article}
\usepackage{changes} %I could use [final] to hide the markup from the PDF, but I need the ``evidence'' removed from the source
\begin{document}
Some text \added{some added text}, and some \replaced{replaced}{replactd} text. \deleted{also, some deleted.}
\end{document}
我將腳本放在與 input.tex 相同的資料夾中,使腳本可執行並使用
sh ./delcmdchanges.bash -i input.tex output.tex
我沒有收到錯誤,沒有查詢到找到的標記,並且輸出文件內容與輸入相同。
答案1
嘗試命令
awk -W version
它可能會告訴你類似的事情mawk 1.3.3
。mawk
是 的一個特定實現awk
,在此版本中存在錯誤(缺少功能?),即它不支援 Posix 字元類別。腳本delcmdchanges.bash
使用的字元類[:space:]
,其解釋不正確。
您的選擇是:
升級到
mawk
1.3.4。儘管它已經推出了一段時間,但尚未進入多個 Linux 發行版(例如 Ubuntu 16.04 和 16.10 以及所有當前(= 2016 年 11 月)Debian 版本,包括 sid)。安裝另一個實現
awk
,例如gawk
.如果安裝後未自動將其設為預設值(意味著awk
現在呼叫gawk
),請在腳本中替換awk
為。gawk
或者,編輯腳本並替換所有出現的
[[:space:]]
經過
[ \t\r\n\v\f]
(反斜線應按字面意思理解,因此 11 個字元的字串將替換為 13 個字元的字串)。
答案2
該軟體包的較新版本包含一個用 python 編寫的新腳本。可以透過python pyMergeChanges.py [-arh] <Input File> <Output File>
從腳本資料夾運行來使用它。
因此,我建議遇到 bash 檔案問題的人更新軟體包或下載新腳本。
有關更多信息,請參閱包文檔。