それっぽいパラメータだと思ったbreakindentを指定しても変化がありません...
誰も返信しないようなので。
解決されましたか?明確な回答ではありませんが、参考にしていただければ幸いです。
ご質問の内容の「インデントの幅を小さくしたい」とは、「既にスペースでイ
ンデントされた入力ソースの行頭の空白を狭くしたい」ということでしょうか?
入力ソースがタブインデントされていれば tabsize で制御できますが、スペー
スでインデントされているものだと、basewidth などを検討してみましたもの
の、全体に影響してしまい見やすさを損なう結果となってしまいました。
listings.pdf (*1) はご覧になって読まれているかと思いますが、その 15 頁
あたりに次のようなアドバイスが記されていますが、検討されましたか?
(*1) http://www.ctan.org/tex-archive/macros/latex/contrib/listings
http://mirrors.ctan.org/macros/latex/contrib/listings/listings.pdf
あるいは texlive そのものがインストールされていれば
texmf-dist/doc/latex/listings/listings.pdf
→ Some sort of advice:
(1) You should really indent lines of source code to make listings
more readable.
(2) Don’t indent some lines with spaces and others via
tabulators. Changing the tabulator size (of your editor or
pretty-printing tool) completely disturbs the columns.
(3) As a consequence, never share your files with differently tab
sized people!
もし、行頭のスペースをいくつか取り除きたいというのであれば
以下のアドバイスにあるように gobble で調整することができるかと思います。
→ To make the LATEX code more readable, I indent the environments’
program listings. How can I remove that indention in the output?
Read ‘How to gobble characters’ in section 9.
和田さんがご指摘の通り、タブ幅はtabsizeで指定します。
\lstinputlisting[tabsize=2]{code1.R}
もし、タブではなくてスペースでインデントをしているなら、1つのアプローチとして、2つの連続したスペースを1つに読み替えるという方法もあります。これでインデント幅が半分になります。
\lstinputlisting[literate={\ \ }{{\ }}1]{code1.R}
tabsizeとliterateは同時に指定しても大丈夫ですし、\lstset{}であらかじめ設定しておいても大丈夫です。
なお、literateは{置換対象}{置換文字列}{幅}を指定します。
\lstinputlisting[tabsize=2]{code1.R}
もし、タブではなくてスペースでインデントをしているなら、1つのアプローチとして、2つの連続したスペースを1つに読み替えるという方法もあります。これでインデント幅が半分になります。
\lstinputlisting[literate={\ \ }{{\ }}1]{code1.R}
tabsizeとliterateは同時に指定しても大丈夫ですし、\lstset{}であらかじめ設定しておいても大丈夫です。
なお、literateは{置換対象}{置換文字列}{幅}を指定します。