Как Вы отображаете прямые кавычки вместо изогнутых кавычек при использовании пакета 'списков' Латекса?

21
задан Community 8 February 2017 в 14:09
поделиться

5 ответов

Вы рассмотрели использование моноширинного (печатающее устройство) шрифт для списка? Следующие работы в качестве примера:

\documentclass{article}
\usepackage{listings}
\lstset{basicstyle=\ttfamily} % <<< This line added
\begin{document}
\begin{lstlisting}
Fahrenheit=input("What is the Fahrenheit temperature?")
Celsius=(5.0/9.0)*(Fahrenheit-32)
print"The temperature is",Celsius,"degrees Celsius"
\end{lstlisting}
\end{document}
6
ответ дан 29 November 2019 в 20:06
поделиться

Я вижу в документации (который должен был быть распределен с packge, но доступен в http://www.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf ) для listings, что существует устанавливаемое свойство, названное upquote для заботы об этом.

Из документации:

upquote=⟨true|false⟩                                                false
  determines whether the left and right quote are printed ‘’ or `'. This 
  key requires the textcomp package if true. 

Делают что-то как [1 110]

\lstset{upquote=true}

прежде begin луг среда списка или использование

\begin{lstlisting}[upquote=true]
...
\end{lstlisting}
<час>

, также возможно, что это свойство уже установлено для Вас в соответствующем определении языка (см. документы снова, большой список предопределенных языков на странице 12).

Использование:

\lstloadlanguages{<dialects you need>}

в заголовке. И затем набор язык с помощью любой из вышеупомянутых конвенций для выбора опций.

22
ответ дан 29 November 2019 в 20:06
поделиться

ответ dmckee выше, вероятно, работ. Если Вы отбрасываете свое последнее условие, т.е. Вы разрешаете изменения в коде, то существует более универсальное решение, которое я склонен использовать каждый раз, когда TEX (La) представляет символ так или иначе по-другому, чем я ожидаю, что это, чтобы сделать должно использовать эти \symbol команда. Я перечисляю его здесь, потому что это может быть полезно в других ситуациях также:

\newcommand{\qq}{\symbol{34}} % 34 is the decimal ascii code for "

И затем Ваш пример:

\begin{lstlisting}
...
print{\qq}The temperature is{\qq},Celsius,{\qq}degrees Celsius{\qq}
...
\end{lstlisting}

Примечание фигурные скобки, которые, предположительно, забирают списки к режиму LaTeX (см. escapechars опция пакета.)

8
ответ дан 29 November 2019 в 20:06
поделиться

Может быть, это потому, что я установил листинги на раннем этапе, как пользователь LaTeX, но я удивлен, узнав, что без пакета листингов поведение будет другим.

Мое решение было похоже на решение Дэвида Ханака. , но я использовал символы для двойных кавычек, как описано в шпаргалке по LaTeX ( http://stdout.org/~winston/latex )

\newcommand{\QQ}[1]{``#1''}
1
ответ дан 29 November 2019 в 20:06
поделиться

Вот решение

\usepackage[T1]{fontenc}  
\usepackage{textcomp}  
\usepackage{lmodern}  

% in the listings package configuration, try:  
literate={"}{\textquotedbl}1,  
6
ответ дан 29 November 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: