我正在将 .tex 文件转换为 .epub。我需要选择性地将 chapters 命令中的字符串“\\”替换为单个空格。
例子:
\chapter{My title \\ on two rows}
变成:
\chapter{My title on two rows}
是否可以?
答案1
是的,这是可能的!只需使用正则表达式即可。
例如,(\\chapter\{.*)\\\\
然后$1
调用该组。如果您有多个 \,请使用更多组。((\\chapter\{.*)\\\\(.*)\\\\
然后$1$2
等等。
答案2
这是一个基于LuaLaTeX的解决方案。如果您不想\\
从的参数中删除项目\chapter
,只需注释掉与lua相关的代码即可。
% !TEX TS-program = lualatex
\documentclass{book}
\usepackage{luacode}
\begin{luacode}
function strike_double_backslash ( line )
if string.find ( line, '\\chapter') then
return ( string.gsub ( line, '\\\\', ' ') )
end
end
luatexbase.add_to_callback ( "process_input_buffer",
strike_double_backslash, "strike_double_backslash" )
\end{luacode}
\begin{document}
\chapter{Title (no \\ longer!) on 2 rows}
\end{document}