如何在LaTeX中打印反斜杠

32

我想使用LaTeX向文本文件写入反斜杠字符。

下面的第一行代码声明了一个名为'file'的变量,它描述了文件'myfile.out'。第二行打开文件,第三行尝试向文件中写入反斜杠 '\'。

\documentclass{article}
\begin{document}
   \newwrite\file%
   \immediate\openout\file=myfile.out%
   \immediate\write\file{\}%
\end{document}

第三行不起作用,因为LaTeX混淆了反斜杠,有谁知道我该如何让它起作用?我尝试了很多方法,包括\textbackslash, $\backslash$ \char ``\`等等,但仍然没有成功。

非常感谢。


1
我曾经遇到过同样的问题。在http://tex.stackexchange.com/questions/7359/how-to-make-a-real-backslash-escape-character上有可行的答案。 - JanKanis
3个回答

21

听起来你想在文本模式下使用反斜杠;由于\backslash不起作用,尝试使用\textbackslash

编辑:\symbol{92}也可以使用。


\textbackslash 给出了奇怪的错误:TeX 容量超出,抱歉。 - Giovanni Funchal
使用 \symbol{92},我得到了一个名为 myfile.out 的文件,其中包含 '\char 92\relax ',似乎缺少了某种扩展或其他东西。 - Giovanni Funchal
也许我对于写入文本文件存在一些不熟悉的问题--没有预料到这会出现错误。 - Martijn
我也很惊讶这个不起作用。有人能解释一下吗? - Charles Stewart
一个初步的解释是,我认为\symbol{92}是一个宏,它会被翻译成\char92,这会要求编译器后端在当前字体中插入给定编号的字符。由于在写入文件时没有后端,\char92宏在输出中保持未展开状态。 - Giovanni Funchal
在我的Overleaf文档中,即使\textbackslash无法正常工作,\symbol{92}解决了问题!谢谢@Martijn。 - keremistan

13

你可以使用\@backslashchar。以下是我成功使用的代码:

\documentclass{article}
\begin{document}
\newwrite\file
\immediate\openout\file=myfile.out
\makeatletter
\immediate\write\file{\@backslashchar}
\makeatother
\closeout\file
\end{document}

对我不起作用。这是在文本文件中代替反斜杠的内容:\spacefactor \@m {}backslashchar - mmj
对我来说似乎可以工作 - 但我不是LaTeX专家,所以我不确定如何帮助。我运行了“pdflatex <file.tex>”。 - Alok Singhal

-1

"AB/FQS/ET004/2014" 用LaTeX书写并加上空格为 "AB/ FQS/ ET004/ 2014"


5
我不知道这句话回答了哪个问题,但肯定不是顶部提出的问题。 - Johannes_B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接